بهترین روش دیباگ(debug) در اندروید استودیو

دیباگ در اندروید استودیو

خطایابی یا دیباگ در Android Studio یکی از بخش‌های اساسی زندگی روزمره برنامه نویس اندروید است . ما همیشه تلاش می‌کنیم که کد bulletproof و بدون خطا را بنویسیم اما برای انجام این کار، باید هر گونه اشکال را حل کنیم ، که گاهی اوقات در کد تشخیص داده می‌شود . دیباگ به شما این امکان را می‌دهد که هر خط کد را بررسی کنید، متغیرهای برنامه، روش‌ها و این که کد شما چگونه کار می‌کند را ارزیابی کنید. پیدا کردن اشتباه کوچک در قطعات بزرگ کد آسان‌تر است. در این مقاله ، ما از طریق نکات و ترفندهای اولیه در مورد دیباگ یک برنامه اندروید استفاده خواهیم کرد.

شروع حالت دیباگ در اندروید

زمانی که می‌خواهید حالت دیباگ را شروع کنید ، ابتدا مطمئن شوید که دستگاه شما برای اشکال زدایی یا دیباگ توسط  USB راه اندازی شده‌است ، و پروژه خود را در اندروید استودیو باز کنید ( AS ) و فقط روی آیکن debug کلیک کنید.

سپس دستگاه خود را در پنجره دستگاه انتخاب کنید ، و اندروید استودیو برنامه شما را در حالت دیباگ اجرا می کند. اندروید استودیو همچنین به طور خودکار ابزار debug را باز می‌کند . شما می توانید آن را بصورت دستی با کلیک کردن بر روی Debug! در پایین Android Studio اجرا کنید.دکمه دیباگ در اندروید استودیو

راه دیگر برای شروع debugging بدون نیاز به راه‌اندازی مجدد برنامه تان با کلیک روی “Attach debugger to Android process” است.   شما همچنین باید دستگاه و برنامه app را انتخاب کنید ( فرآیند ) که می‌خواهید اشکالزدا را به آن متصل کنید. همچنین اگر می‌خواهید یک ویژگی خاص را رفع کنید این حالت مفید است ، و در این میان باید چند صفحه دیگر را نیز مرور کنید. از آنجا که بعضی از عملیات در حالت دیباگ از طریق برنامه بدون حالت دیباگ بسیار سریعتر اجرا می شوند، کارکرد آنها کم است. وقتی یک کلیک از چیزی که می خواهید با دیباگ کنار بگذارید، یک debug را به برنامه تان اضافه می کنید و شروع به اشکالزدایی می کنید.

تاریخچه debug با استفاده از Logs

راحت‌ترین راه برای عیب‌یابی کد خود استفاده از Log است . این یک برنامه کاربردی است که به شما این امکان را می‌دهد که خروجی‌ها را ارسال کنید , که بعدا بتوانید در Logcat در اندروید استودیو مشاهده کنید. لازم نیست برای انجام این کار , app را در حالت دیباگ اجرا کنید. می توانید به سادگی با استفاده از android.util.Log در یکی از روش های زیر استفاده کنید: Log.v(), Log.d(), Log.i(), Log.w(), Log.e()  یا  Log.wtf().همه آنها از دو پارامتر رشته استفاده می کنند: TAG و پیام شما. همچنین می‌توانید آن را به عنوان پارامتر سوم در نظر بگیرید که برچسب , پیام و گزارش استثنا را ثبت می‌کند. با استفاده از روش‌های مختلف (VERBOSE, DEBUG, INFO, WARNING, ERROR) – شما می‌توانید بعدا ً log ها را فیلتر کنید و یا حتی تنظیمات رنگ متن و پس‌زمینه متن را برای هر سطح تنظیم کنید .

این یک مثال ساده است :

Verbose هرگز نباید زمانی که شما روی  برنامه خود آزمایش انجام می‌دهید تهیه شود ، اما شما می‌توانید این کار را در طول فرآیند توسعه انجام دهید . log های debug در زمان اجرا نگه‌داشته می‌شوند ، در حالی که خطا ، هشدارها و log های اطلاعات همیشه در حال اجرا هستند . بنابراین ، اگر از هر یک از این log ها برای اهداف توسعه استفاده می‌کنید ، فراموش نکنید که آن‌ها را حذف کنید به خصوص اگر اطلاعات حساس را ثبت کنید . در عین حال بهتر است این logs را در یک جمله شرطی خلاصه کنید .

برای مثال:

یا BuildConfig را ایجاد کنید و آن را در یک فایل gradle قرار دهید .

Logcat

در STRV ما از ابزار Logcat استفاده می کنیم که در صورت بیان جمله شرطی در میان چیزهای دیگر دسته‌بندی می‌شود . اینجا را بررسی کنید. در build.gradle ساخت پیکربندی LOGS را می سازیم، که می تواند در نوع ساخت دیباگ درست باشد و در نوع انتشار نادرست باشد. Logcat همیشه قبل از ثبت هر پیام خصوصیات LOGS را بررسی می کند. در این صورت نیازی نیست نگران این باشید که آن را در هر صورت بیان کنید .

به سادگی این متد را فراخوانی کنید :

همچنین می‌توانید سایر پارامترها را در این کلاس تنظیم کنید . این پیغام می‌تواند شامل ” مکان کد ” باشد . این به این معنی است که نام متد ، خط کد و همچنین رشته‌ای که Logcat نامیده می‌شود را نشان می‌دهد . نکته جالب دیگر در مورد Logcat این است که شما می‌توانید پیغام‌های قالب‌بندی شده را وارد کنید . پس به جای آن :

ما از آن استفاده می‌کنیم :

این متد به شما اجازه می دهد تا پارامترهای زیادی را که می خواهید داشته باشید.

breakpoint در اندروید استودیو

وقتی در نقطه‌ای هستید که نمی‌توانید با نگاه کردن به کد خود ، یک اشکال را درست کنید ، وقت آن است که از breakpoints استفاده کنید . Breakpoints به شما اجازه می‌دهد که اجرای برنامه خود را در یک خط ویژه از کد متوقف کنید.

راه اندازی  breakpoints

فقط به پرونده‌ای بروید که می‌خواهید آن را رفع کنید ، یک خط کد پیدا کنید که می‌خواهید آن را شروع کرده و روی نوار کناری سمت چپ این خط کلیک کنید . در آنجا یک نقطه قرمز خواهید دید . سپس برنامه خود را در حالت اشکال‌زدایی اجرا کرده و یا یک debugger را ضمیمه کنید ( به بالا نگاه کنید ) .

breakpoints در اندروید

همچنین می‌توانید پیکربندی breakpoint را سفارشی کنید . تنظیمات خود را با کلیک راست روی نقطه قرمز تنظیم کنید و سپس شرایطی را وارد کنید که می‌خواهید این breakpoint را Fire کنید . همچنین می‌توانید تنظیمات مشاهده breakpoints را در سمت چپ پنجره ابزار اشکال‌زدایی باز کنید .breakpoint در اندروید  شما می‌توانید همه breakpoints را ببینید ، هر کدام را غیرفعال کنید / یا یک breakpoint را از لیست انتخاب کرده و آن را پیکربندی کنید . به عنوان مثال ، شما می‌توانید یک breakpoint را تا زمانی که یک breakpoint دیگر مورد اصابت قرار گیرد ، غیرفعال کنید و سپس یک‌بار آن را بردارید .

اشکال‌زدایی با breakpoints

Studio Android هر خط کد را که برنامه مورد اصابت breakpoints قرار می‌گیرد ، نشان خواهد داد . بخش سخت در پنجره اشکال‌زدایی روشن می‌شود – بررسی هر متغیری که در حال حاضر به خط انتقال داده می‌شود و یا به خط دیگر می‌پرد .

درخت یک شی را باز کنید، شما قادر خواهید بود تمام مقادیر حوزه خود را ببینید . اگر یک شی سفارشی باشد، همان مقدار را به عنوان روش()  toString نشان می‌دهد. اگر شما به یک رشته خاص در این موضوع علاقه‌مند هستید و یا می‌خواهید یک نتیجه آسان را بخوانید، روش  toString() را نادیده بگیرید . نیازی نیست که درخت را باز کنید ، شما نتیجه را در کنار ریشه درخت خواهید دید .

نکته جالب این است که اگر یک نقشه‌بیتی داشته باشید می‌توانید تصویر را در هنگام عیب‌یابی ببینید .

نقشه بیتی

همچنین می‌توانید ساعت را تنظیم کنید تا تنها متغیری که به آن علاقه دارید را ببینید . علاوه بر این هر گونه بیان را در نقطه اجرای فعلی خود با استفاده از متغیرها و روش‌های ارائه‌شده ( یا حتی اشیا و روش‌های دیگر از آن شی خاص ) ارزیابی کنید . همچنین می‌توانید حالات مورد ارزیابی را ارزیابی کنید.

شما می توانید مشاهده متغیر ها را با کلیک کردن بر روی آیکن   باز کنید و محاسبه عبارت از طریق کلیک روی آیکن‌   نمایش متغیرها را باز کنید.

زمانی که بفهمید در این نقطه خاص چه می‌گذرد , زمان حرکت به مرحله بعدی است . در اینجا چند گزینه دارید :

مرحله 1 – رفتن به خط بعدی کد بدون وارد کردن یک متد در خط جریان

مرحله ۲ – رفتن به خط اول متد داخلی که در خط فعلی نامیده می‌شود

مرحله خروج – به خط بعدی خارج از متد فعلی بروید.

برنامه Resume – به طور معمول به برنامه ادامه دهید یا به نقطه پایانی بعدی بروید.

عکس ها و فیلم ها را ضبط کنید.

اندروید استودیو همچنین به شما اجازه می دهد تصاویر یا ویدیو کوتاه از صفحه نمایش دستگاه در حالی که برنامه شما در حال اجرا است تهیه کنید. این به عنوان تبلیغی مفید است و شما همچنین می توانید تصاویر یا فیلم ها را به یک گزارش دیباگ وصل کنید. برای استفاده از آن، برنامه خود را در حالت debug اجرا کنید، پنجره ابزار Android DDMS را باز کنید،   سپس بر روی Screen Capture  ضربه بزنید و روی Save کلیک کنید. برای ویدیو همچنین برنامه را در حالت دیباگ اجرا کنید و پنجره ابزار Android DDMS را باز کنید و سپس روی Screen Record  ضربه بزنید. روی شروع ضبط کلیک کنید و با برنامه خود ارتباط برقرار کنید. روی توقف ضبط کلیک کنید، سپس یک نام فایل برای ضبط وارد کنید و روی تأیید کلیک کنید.

در حالی که هیچ توسعه دهنده ای فرآیند دیباگ را دوست ندارد ، این یک امر ضروری است و کد شما را بهتر می‌کند و مشتریان شما راضی خواهند شد . اندروید استودیو debugging را آسان می‌کند … شاید حتی سرگرم‌کننده باشد! ( یا شاید هم نه) . به قول معروف Edsger W . Dijkstra : ” اگر debugging روند حذف اشکالات نرم‌افزار است ، پس برنامه‌نویسی باید فرآیند قرار دادن آن‌ها باشد .”

درباره ShopDroid

فروشگاه توسعه دهندگان موبایل شاپ دروید با بیش از 7 سال سابقه مفتخر است که اولین و بهترین فروشگاه سورس می باشد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *