Get Mystery Box with random crypto!

دیباگ بهتر در Visual Studio با 3 ترفند بعضی وقتا پیش میاد که | DotNetZoom

دیباگ بهتر در Visual Studio با 3 ترفند

بعضی وقتا پیش میاد که خطا تو کد هاتون رخ میده ولی Exception ایی نشون داده نمیشه. یا جزئیات کاملی از علت خطا در Exception رخ داده نشون داده نمیشه و...
در اینجا میخوایم با اعمال 3 تنظیم در Visual Studio، بتونیم خطا ها رو بهتر Debug کنیم
مراحل زیر رو انجام بدید تا به هنگام وقوع Exception، اجرای کد سر همون خطی که exception اصلی رخ داده متوقف بشه و علت رو پیدا کنید و نیز جزئیات بیشتری از خطا ها براتون نمایش داده بشه

از پنجره Exception Settings توی VisualStudio گزینه زیر رو به صورت کامل تیک بزنید
Common Language Runtime Exceptions
این باعث میشه "هر" نوع خطایی رخ بده Exception اش رو ببینیم

وارد تنظیمات VS بشین و از "غیر فعال" بودن گزینه Enable Just My Code اطمینان پیدا کنید
Tools > Options > Debugging > General
این باعث میشه هر خطایی (نه صرفا در کد های شما) حتی در library های دیگه رخ بده Exception اش رو ببینیم (اطلاعات بیشتر)

وارد تنظیمات VS بشین و از "فعال" بودن گزینه Suppress JIT optimization اطمینان پیدا کنید
Tools > Options > Debugging > General
این باعث میشه JIT Optimization انجام نشه و جزئیات و اطلاعات بیشتری از Exception ها نمایان بشن

در نهایت کدتون رو اجرا کنید در این صورت اگر هر Exception ایی رخ بده نمایش داده میشه و بعد میتونین توسط Call Stack سلسله مراتب متد های فراخوانی کننده رو ببینید و متوجه بشید علت اصلی خطا کجاست

نکته:
وقتی تنظیمات بالا رو انجام میدید بعضی وقتا ممکنه Exception هایی که در کد های داخلی خود Framework و کتابخانه های BCL دات نت رخ میده و حتی Exception های "هندل شده" هم الکی نمایش داده بشه. که میتونید اون ها رو رد کنید و در نظر نگیرید یا توی پنجره Exception Settings (ترفند اول) راست کلیک کنین و گزینه "Restore Defaults" رو بزنین


توی لینک زیر میتونین تکنیک های بیشتری رو هم ببینین
7 Debugging Techniques you should know in C# .NET
____________________
@DotNetZoom