همانطور که می دانیم اشکال زدایی ویژوال استودیو نقش اصلی را در زمان توسعه برنامه ایفا می کند، بنابراین توسعه دهندگان همیشه در تلاش هستند تا ابزارهای جدیدی برای اشکال زدایی بیابند. در اینجا چند ابزار عالی برای اشکال زدایی ویژوال استودیو وجود دارد که به نظر من در زمان توسعه بسیار مفید هستند. بنابراین من می خواهم همه این ابزارها را بین همه ما به اشتراک بگذارم.
در این مقاله به موضوعات زیر خواهم پرداخت:
- کاربرد فایل Symbols (pdb.) چیست؟
- استفاده از .Net SourceServer چیست؟
- ابزار اشکال زدایی رشته ها.
- پنجره موضوع
- پنجره های پشته موازی برای اشکال زدایی رشته.
- یافتن موضوعات
بیایید با فایل Symbol شروع کنیم،
نمادهای در دات نت ابرداده کمکی کد ما هستند.
فراداده کمکی چیست؟
این مجموعه ای از نمادهای مختلف است. و این نمادها توسط دیباگر ویژوال استودیو برای واکشی تمام داده های مورد نیاز استفاده می شود.
زمانی که پروژه را می سازیم می توان این فایل را توسط CLR ایجاد کرد، پس از ساخت پروژه می توانیم آن فایل را در داخل projectsolution در پوشه bin->debug مشاهده کنیم.
در آنجا انواع مختلفی از فایل را پیدا می کنیم که در زیر نشان داده شده است:
در شکل بالا یک فایل را علامت گذاری کرده ام که فایل نماد است. پسوند فایل این فایل .pdb است.
.pdb مخفف فایل دیباگ دیباگ برنامه است.
این فایل شامل تمام اطلاعات مربوط به اشکال زدایی یعنی شماره خط، نمادهایی است که برای ورود، خروج و بسیاری موارد دیگر استفاده می شود. تمام این اطلاعات در داخل به شکل داده های باینری ذخیره می شود.
هدف اصلی فایل pdf ذخیره تمام اطلاعات مربوط به فرآیند اشکال زدایی است.
این همه فایل aboutpdb است و از آن استفاده می کند، اجازه دهید به بعدی برویم.
سرور منبع و کاربردهای آن
قبل از پرداختن به این موضوع، اجازه دهید یک سوال از شما بپرسم: آیا می توان کد فریمورک .net را با استفاده از ویژوال استودیو اشکال زدایی کرد؟
به چی فکر میکنی؟
شاید یا شاید نه، اگر منطقی فکر کنیم، ممکن است پاسخ منفی بدهیم زیرا برای اشکال زدایی هر چیزی که نیاز داریم، کد منبع باید در ماشین های محلی یا ماشین راه دور وجود داشته باشد، بنابراین در مورد اشکال زدایی کد فریمورک دات نت، ما چنین فایلی را نداریم. ماشین های ما، فقط ما dll داریم، بنابراین پاسخ منفی است.
اما ما می توانیم!
بله، این کار با استفاده از ویژگی سرور منبع داده شده در VS امکان پذیر است.