ابزار اشکال زدایی در Visual Studio
سه شنبه 24 فروردین 1395همانطور که می دانیم اشکال زدایی ویژوال استودیو نقش اصلی در زمان توسعه نرم افزار ایفا می کند، بنابراین توسعه دهندگان همواره در تلاش برای پیدا کردن ابزار جدید برای اشکال زدایی هستند . در مقاله برخی از ابزارهای اشکال زدایی ویژوال استودیو که در زمان توسعه بسیار مفید است ، استفاده میشود.
این مقاله موضوعات زیر را پوشش میدهد:
چگونه از سمبل ها در فایلهای (pdb.) استفاده میشود؟
چگونه از سورس سرورهای دات نت استفاده میشود؟
ابزار Threads debugging
Thread window
Parallel stack windows برای thread debugging
پیدا کردن Thread ها.
دات نت سمبلها (NET symbol.) ، ابرداده کمکی کد ما هستند.
ابرداده کمکی(auxiliary metadata) چیست؟
مجموعه ای از نمادهای مختلف است. واز آن دسته سمبل هایی است که توسط دیباگر ویژوال استودیو برای واکشی داده های مورد نیاز استفاده می شود.
این فایل را می توان با CLR که برای ساخت این پروژه ایجاد شده، که هنگام بیلد پروژه ، می توانیم فایل داخل projectsolution در BIN -> debug folder را ببینید.
نوع مختلفی از فایل در زیر وجود دارد:
در شکل بالا فایل نمادی مشخص شده که پسوند فایل آن .pdb است.
.pdb برای برنامه اشکال زدایی فایلهای دیتابیس است.
این فایل حاوی تمام اطلاعات در مورد شماره خط اشکال زدایی ، برای مثال سمبل های مورد استفاده برای مرحله های ورودی و خروجی و بسیاری دیگر. تمام این اطلاعات داخل فرم داده های باینری ذخیره می شود.
هدف اصلی از فایل PDB ،ذخیره تمام اطلاعات در مورد فرآیند اشکال زدایی است.
این همه چیز در مورد فایل PDB و استفاده از آن است . در حال حاضر به مرحله بعد میرویم.
سرور منبع و استفاده از آن
قبل از پرداختن به این موضوع ،اجازه دهید از شما یک سوال بپرسم: آیا ممکن است کد های دات نت فریم ورک را با استفاده از ویژوال استودیو اشکال زدایی کرد؟
بله ، ما می توانیم!
بله، از طریق ویژگی های سورس سرور ارائه شده در VS ممکن است.
سورس سرور اساسا یک سرور ارائه شده توسط مایکروسافت است ، که شامل تمام آموزش سمبولیک برای اشکال زدایی کد دات نت فریم ورک است .
سورس سرور ، اجازه اشکال زدایی کد دات نت فریم ورک در VS را میدهد ، با استفاده از آن میتوانیم گامی در متد هسته دات نت فریم ورک برداریم.
چگونه سورس سرور را در ویژوال استودیو فعال کنیم؟
مرحله 1: به منوی Debug رفته وروی گزینه option-setting کلیک کنید.
مرحله2 : سپس پنجره جدیدی که نیاز به بررسی Enable .Net source stepping و Enable source server است ، باز میکنیم.
مرحله 3: پس از انجام این کار ما نیاز به انتخاب گزینه " Symbols" داریم. ما باید محل جدیدی داخل محل فایل سمبل قرار دهیم ، اصلی ترین چیز مشخص کردن محل برای خواندن فایل PDB از مکان VS برای اشکال زدایی دات نت فریم ورک است.
برای دادن یک مکان جدید مراحل زیر را دنبال کنید:
مرحله 1: اول گزینه Symbols را انتخاب کنید ، برای اضافه کردن مکان جدید بر روی دکمه مشخص شده یا فلش کلیک کنید،
مرحله 2: تعیین محل و سپس OK کنید.
در حال حاضر ویژوال استودیو تمام فایلهای دات نت فریم ورک سمبل را از آن مکان میخواند.
توجه: برای کار بالا تنظیمات شما باید به اینترنت متصل باشد.
هشدار: پس از انجام این تنظیمات، هنگامی که شما هر یک از برنامه خود را اجرا میکنید ، بسته به نوع اتصال شما به اینترنت و لود تمام فایل های سمبل از سرور مدتی طول می کشد بنابراین شما باید صبر کنید.
یک بار تمام سمبل ها لود میشود ، پس ما می توانیم به کد دات نت فریم ورک step into کنیم.
این همه چیز در مورد روند اشکال زدایی کدهای دات نت فریم ورک بود.
حالا اجازه دهید درباره ی ابزار اشکال زدایی Thread در Visual Studio صحبت کنیم:
هنگام کار با multiple thread ها، این یک ابزار بسیار مفید است.
برای دیدن همه ی تاپیک های در حال اجرا ، به پنجره Thread در منوی Debug میرویم.
پنجره Thread تعداد زیادی اطلاعات در مورد Thread را فراهم می کند.
برای دیدن همه ی اطلاعات در مورد Thread ما نیاز به اجرای برنامه Thread داریم.
برای درک بهتر ،یک برنامه windows form ایجاد میکنیم و thread را در آن پیاده سازی میکنیم.
یک window form ساده و یک دکمه داخل آن اضافه میکنیم.
در زیر رویداد کلیک دکمه را مینویسیم:
privatevoid button1_Click(object sender, EventArgs e) { for (int i = 0; i < 30; i++) { Threadth = newThread(delegate() { lock(this) Thread.Sleep(1000); }); th.Start(); } }
سپس برنامه را استارت کنید و با کلیک بر روی دکمه، thread ایجاد میشود و در حالت اجرا برنامه را ترک کرده و به ویژوال استودیو آمده و در داخل ویژوال استودیو از منوی debug برای دیدن تمام اطلاعات thread روی گزینه break all کلیک کنید
پنجره thread به شرح زیر داده می شود:
سپس روی thread window کلیک کنید
پس از آن تمام اطلاعات thread که استارت شده اند ، مشاهده میشود.
حالا برای دیدن واضح تر همه thread ها ما نیاز به حرکت به تاپیک بعدی داریم ،برای این منظور از قسمت window گزینه parallel stack برای Thread را انتخاب میکینم.
parallel stack window برای thread استفاده شده ، تصویر روشن تر از thread با نمودار را نشان میدهد.
برای باز کردن parallel stack window نیاز به انجام همان روند داریم.
پس از آن در پنجره visualization همه تاپیک ها(thread )، درحال اجرا را میبینید.مانند شکل زیر
برای پیدا کردن thread خاص، می توانیم نام thread یا thread ID از پنجره thread استفاده کنیم، همچنین thread window اجازه تغییر نام ، نام Thread را می دهد.
- VisualStudio
- 4k بازدید
- 8 تشکر