Debug.pdf

‫به نام حضرت دوست‬
!‫یاستفاده از دیباگر سکدبلسکس‬
‌‫راهنما ا‬
https://docs.google.com/file/d/0B4ANL8Hj3tq-VzNKRjdpelgyZ3c/edit?pli=1:‫منبع‬
‫‪(۱‬راا‌هاندازی دیباگر‬
‫یتونید از ‪ctrl+ f9‬‬
‫نسکار م ا‌‬
‫یشود‪ .‬برای ای ا‌‬
‫قبل از شروع سکردن مطمئن شوید سکه سکدتان ‪ build‬م ا‌‬
‫استفاده سکنید‪.‬‬
‫برای این سکه بتوانید یک فایل را دیباگ سکنید‪ ،‬این فایل حتم ًا باید داخل یک پروژه قرار داشته باشد‪.‬‬
‫علوه با‌رنآن به منوی ‪ Menu → Project → Build options‬مانند شکل زیر باشد‪:‬‬
‫شهای زیر شروع به‬
‫یتونید به یکی از رو ا‌‬
‫یشه م ا‌‬
‫بعد از اینکه مطمئن شدید برناما‌هی شما ‪ build‬م ا‌‬
‫دیباگ سکردن برنامه )اجرای برنامه( سکنید‪:‬‬
‫الف( با استفاده از ‪Menu → Debug → Start :‬‬
‫ب( با استفاده از شرتکات نآن ‪) :‬در تنظیمات سکدبلسکس من ا‌‪ f8 :‬است(‬
‫یخواید دیباگ سکنید حواستون باشه سکه ‪ build target‬روی ‪debug‬‬
‫در ضمن موقعی سکه م ا‌‬
‫تنظیم شده باشه ‪:‬‬
‫یشه تنظیم سکرد‪.‬‬
‫‪ build target‬رو از منوی ‪ Build‬هم م ا‌‬
‫‪ (۲‬اضافه سکردن نقطا‌هی شکست ‪Breakpoint :‬‬
‫یتونه مفید باشه‪.‬‬
‫طشکست م ا‌‬
‫کسری نقا ا‌‬
‫قبل از دیباگ سکردن اغلب اضافه سکردن ی ا‌‬
‫کپوینت هستند‪.‬‬
‫اون نقاط قرمز داخل شکل بری ا‌‬
‫وقتی سمت راست شماره خط )بین شماره خط و اون نواره زرد رنگ در شکل( سکلیک سکنید‪ ،‬یک دایرا‌هی‬
‫یاذاره‪.‬‬
‫قرمز اونجا م ا‌‬
‫یسکنه تا برنامه نویس‬
‫کپوینت نقاطی است‪ ،‬سکه وقتی دیباگر به اونجا‌ا میرسه‪ ،‬اجرای برنامه رو متوقف م ا‌‬
‫بری ا‌‬
‫بتونه نآنالیز سکنه سکه در یک قسمت برنامه چه اتفاقی در حال رخ دادن هست‪.‬‬
‫شهای اذسکر شده در‬
‫حال برای شروع در یک برناما‌هی سکوتاه یک بریک پوینت بذارید و با استفاده از رو ا‌‬
‫مرحلا‌هی یک‪ ،‬دیباگر رو اجرا سکنید‪ ،‬و مشاهده سکنید سکه وقتی به این خط می رسه چه اتفاقی می افته‪.‬‬
‫‪(۳‬اجرای خط به خط برنامه‬
‫پس از این دیباگر برناما‌هی شما را در نقطا‌هی دلخواهتون متوقف سکرده‪ ،‬حال نیاز دارید سکه برنامتون رو‬
‫خط به خط اجرا سکنید‪.‬‬
‫یتونید انجام بدید‬
‫این سکار رو به چند روش م ا‌‬
‫‪.‬‬
‫یسکنه و به صورت خودسکار در خط بعد‬
‫‪ :Next line‬خطی سکه دیباگر در نآن متوقف شده رو اجرا م ا‌‬
‫یشه‪.‬‬
‫متوقف م ا‌‬
‫فراخوانی تابع در اون قرار داره‪ ،‬متوقف شده باشه‪،‬‬
‫‪ :Step into‬اگر دیباگر در خطی سکه یک‬
‫یشه‪.‬‬
‫تابع فراخوانی می شه و دیباگر در اولین خط تابع متوقف م ا‌‬
‫یشود و دیباگر‬
‫‪ :Step out‬اگر دیباگر در داخل یک تابع متوقف شده باشد‪ ،‬اجرای تابع سکامل انجام م ا‌‬
‫یشه‪.‬‬
‫به صورت خودسکار بعد از اجرای تابع متوقف م ا‌‬
‫‪ : Next instruction‬شاید بعد ًا به دردتون بخوره ‪ ،‬سکد اسمبلی حاصل از دستورات خودتون رو‬
‫می تونید ببینید و دستور به دستور اسمبلی برنامتون رو اجرا سکنید‪.‬‬
‫یتونید این گزینه ها رو پیدا سکنید‪.‬‬
‫از منوی دیباگ هم م ا‌‬
‫‪ (۴‬مشاهدا‌هی وضعیت برنامه‬
‫ل ببینیم سکه در یک متغیر چه مقداری‬
‫یسکنیم‪ ،‬شاید لزم باشه‪ ،‬مث ً‬
‫حال سکه خط به خط برنامه رو اجرا م ا‌‬
‫اذخیره شده یا …‬
‫برای دیدن هر یک از چیزها سکه هنگام دیباگ لزم است بدانیم یک گزینه در دیباگینگ ویندوز وجود‬
‫داره‪.‬‬
‫برای دیدن متغیرها باید از ‪ watches‬استفاده سکرد‪.‬‬
‫نهای گفته شده در بالی تصویرتان موجود نیست‪ ،‬از → ‪menu → Debug‬‬
‫در صورتی سکه نآیکو ا‌‬
‫‪debugging windows‬‬
‫هم به ‪ watches‬دسترسی پیدا سکرد‪.‬‬
‫لتر سکنیم‪...‬‬
‫یشه این فایل رو سکام ا‌‬
‫در ادامه سعی م ا‌‬