تیم .NET nanoFramework اعلام کرده است که پشتیبانی از اشکالزدایی در VS Code برای این فریمورک پیادهسازی شده است. این قابلیت به کاربران امکان میدهد تا از محیط توسعه محبوب VS Code و همچنین سیستمعاملهای macOS و Linux برای اشکالزدایی برنامههای .NET nanoFramework خود استفاده کنند.
این پیادهسازی نیازی به تغییر در کد دستگاه (firmware) ندارد و از پروتکل ارتباطی (Wire Protocol) موجود بهره میبرد. پروتکل Wire، یک پروتکل باینری است که برای سیستمهای تعبیه شده با منابع محدود طراحی شده است و امکاناتی مانند تنظیم و پاک کردن نقاط شکست (breakpoints)، گامبهگام (stepping)، مدیریت نخها (threads) و پشته فراخوانی (call stacks)، بررسی و تغییر متغیرها، و مدیریت استثنا (exception handling) را فراهم میکند.
تیم توسعه، برای پیادهسازی این قابلیت، از کد منبع افزونه Visual Studio (nf-Visual-Studio-extension) به عنوان یک منبع حیاتی استفاده کرده است. این افزونه سالهاست که از اشکالزدایی در Visual Studio پشتیبانی میکند و درک نحوه عملکرد آن به تیم کمک شایانی کرده است. با بررسی این کد، تیم توسعه توانست نحوه استقرار اسمبلیها در دستگاه، ترجمه نقاط شکست به مکانهای قابل فهم برای دستگاه، و پیمایش سیستم مقادیر runtime دستگاه را درک کند.
این قابلیت با استفاده از یک لایه ترجمه بین پروتکل Wire و پروتکل Debug Adapter Protocol (DAP) که توسط VS Code استفاده میشود، امکانپذیر شده است. کتابخانه nf-debugger نقش کلیدی در این فرآیند ایفا میکند و پیادهسازی کاملی از پروتکل Wire را ارائه میدهد. این کتابخانه با یک پیادهسازی سطح پایین C/C++ در دستگاه ارتباط برقرار میکند.
این بهروزرسانی یک گام مهم در جهت بهبود تجربه توسعهدهندگان .NET nanoFramework است و امکانات بیشتری را برای توسعه برنامههای تعبیه شده با استفاده از C# فراهم میکند.
مشاهده مطلب اصلی