مشخصات مقاله
-
1111
-
0.0
-
3392
-
0
-
0
آموزش Xamarin-آموزش اشکال زدایی (Debugging) با Xamarin
آموزش Xamarin-آموزش اشکال زدایی (Debugging) با Xamarin
اشکال زدایی(Debugging) بخشی از برنامه نویسی معمول و ضروری است. XAMARIN Studio به عنوان یک IDE بالغ دارای مجموعه ای از ویژگی هایی است که اشکال زدایی راحت می کند. از اشکال زدایی امن، تا data visualization این مقاله توضیح می دهد که چگونه از پتانسیل کامل اشکال زدایی در Xamarin Studio استفاده کنید.
Overview
Xamarin Studio دارای یک اشکال زدائی مادری است که امکان پشتیبانی اشکال زدایی برنامه های Xamarin.iOS، Xamarin.Mac و Xamarin.Android را فراهم می کند. Xamarin Studio از Mono Soft Debugger استفاده می کند که در زمان اجرا Mono اجازه می دهد Xamarin Studio (و Visual Studio با نصب افزونه Xamarin) برای کد مدیریت شده در تمامی سیستم عامل ها اشکال زدایی کند.
در این مقاله، ما به debugger نگاه خواهیم کرد، چگونه یک breakpoint را تنظیم کنیم و چگونه از کد عبور کنیم. در این مقاله ما به visualizer های جدید debugger نگاه می کنیم که در Xamarin Studio 5.9 معرفی شده است.
Requirements
برای استفاده از visualizers های داده جدید هنگام اشکال زدایی Xamarin Studio 5.9 مورد نیاز است.
The Debugger
Xamarin Studio و Xamarin برای ویژوال استودیو، از Mono Soft Debugger برای اشکالزدایی کد مدیریت شده (C # یا F #) در تمام برنامه های Xamarin استفاده می کند . Mono soft debugger نسبت به debuggers های معمولی متفاوت است که در آن یک debugger همکاری میکند(co-operative debugger) که در زمان اجرای مونو ساخته شده است. کد تولید شده و زمان اجرا Mono با IDE همکاری می کنند تا یک تجربه اشکال زدایی را ارائه دهند. زمان اجرا Mono قابلیت های اشکال زدایی را از طریق یک wire protocol نمایش می دهد؛
بازدارنده های سخت(Hard debuggers) مانند LLDB یا GDB یک برنامه را بدون دانش و یا همکاری از برنامه اشکال زدایی کنترل می کنند ، اما هنوز هم می تواند در هنگام اشکال زدایی برنامه های Xamarin، در صورتی که شما نیاز به اشکال زدایی بومی کد iOS و یا Android دارید مفید باشد.
Using the Debugger
برای شروع اشکالزدایی هر برنامه، همیشه اطمینان حاصل کنید که تنظیمات مربوط به Debug تنظیم شده است، زیرا این شامل ابزار مفید برای پشتیبانی از اشکالزدایی مانند breakpoints ، استفاده از data visualizers و viewing the call stack است:
Setting a breakpoint
برای تنظیم یک breakpoint در IDE خود، بر روی حاشیه ویرایشگر خود، کنار شماره خط کد مورد نظر خود کلیک کنید.
شما می توانید تمامی breakpoints های کد خود را با رفتن به پد Breakpoints مشاهده کنید:
Start Debugging
برای شروع اشکالزدایی، دستگاه هدف (target device) یا similar / emulator در IDE خود را انتخاب کنید:
سپس برنامه خود را با فشار دادن دکمه Play یا Cmd + برنامه ریزی کنید. هنگامی که شما breakpoint کلیک می کنید، کد به رنگ زرد highlighted خواهد شد:
ابزارهای اشکال زدایی، مانند inspecting the values of objects ، می توانند در این مرحله برای دریافت اطلاعات بیشتر در مورد آنچه در کد شما اتفاق می افتد استفاده شوند:
Conditional Breakpoints
شما همچنین می توانید قوانین مربوط به شرایطی را که در آن breakpoint باید رخ دهد تعیین کنید، این بدین معنی است که یک conditional breakpoint اضافه کنید. برای تعیین نقطه توقف مشروط، به پنجره Properties Breakpoint دسترسی پیدا کنید، که می تواند به دو صورت انجام شود:
-
برای اضافه کردن یک breakpoint شرطی جدید، راست کلیک بر روی حاشیه ویرایشگر، سمت چپ line number که شما برای کد خود می خواهید breakpoint تنظیم کنید و New Breakpoint را انتخاب می کنید.
-
برای اضافه کردن یک شرط به breakpoint موجود ، بر روی breakpoint راست کلیک کرده و Breakpoint Properties انتخاب کنید یا در Breakpoints Pad دکمه properties را که در زیر نشان داده شده را انتخاب کنید:
سپس می توانید شرایطی را که می خواهید برای breakpoint ایجاد کنید را وارد کنید:
Stepping through code
هنگامی که به یک breakpoint رسیده است، ابزار Debug به شما امکان می دهد تا کنترل اجرای برنامه را کنترل کنید. IDE چهار دکمه برای شما نمایش می دهد که از آن طریق می توانید در کدهای خود (run and step) انجام دهید.این دکمه ها در Xamarin Studio اینطور به نظر می آیند:
- Play : این اجرای کد را آغاز می کند، تا breakpoint بعدی.
- Step Over : این خط بعدی کد را اجرا می کند. اگر خط بعدی یک فراخوانی تابع باشد، مرحله به مرحله عمل را اجرا خواهد کرد و بعد از عمل در خط بعدی کد متوقف خواهد شد.
- Step Into : این نیز خط بعدی کد را اجرا می کند. اگر خط بعدی یک فراخوانی تابع باشد، Step Into در خط اول تابع متوقف خواهد شد، به شما این امکان را می دهد تا خطایابی خط تابع را ادامه دهید. اگر خط بعدی یک تابع نیست، همانند Step Over رفتار خواهد کرد.
- Step Out: به خطی که تابع فعلی فراخوانی شده است بازگشت می کند.
Debugging Mono’s Class Libraries
Xamarin products به همراه source code برای کتابخانه های کلاس مونو استفاده می شوند ، و شما می توانید از این برای single step از اشکال زدایی استفاده کنید تا بررسی کنید که چطور همه چیز اصطلاحا در زیر کاپوت کار می کند.
از آنجا که این ویژگی حافظه بیشتری را در طول اشکالزدایی مصرف می کند، به طور پیش فرض خاموش می شود. برای فعال کردن این ویژگی، به Xamarin Studio> Preferences> Debugger بروید و اطمینان حاصل کنید که گزینه « Debug project code only; do not step into framework code » انتخاب نشده است، همانطور که در تصویر زیر نشان داده شده است:
Summary
در این مقاله ما به Xamarin Studio’s debugger نگاه کردیم و با نحوه استفاده از آن آشنا شدیم. در مقاله بعدی، ما به visualizers data در debugger نگاه خواهیم کرد.
برای مطالعه سرفصل دوره جامع برنامه نویسی موبایل Android کلیک نمایید .