۳۰ روز با Node – روز بیست و سوم: ماژول خطایاب Debugger در نود جی اس

Nodejs-debugging

معرفی

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

نحوی فراخوانی یک خطایاب Debugger در Node.js

به منظور استفاده از خطایاب node.js، ما باید پارامتر "debug" را هنگام فراخوانی یک اسکریپت nodejs، ارسال کنیم. به عنوان مثال اگر ما قصد داشته باشیم که فایلی با نام hello.js را خطایابی کنیم، کافی است که مانند تصویر زیر از debugger استفاده کنیم.

node debug hello.js

خروجی دستور بالا چیزی شبیه به تصویر زیر می­ شود.

nodejs debugger

دستورات مفید Debugger در Nodejs

برخی از دستورات مفید debugger از جمله step و next و list و backtrace در قسمت پایین توضیح داده شده‌اند:

  1. step:: این دستور، گام­های درون یک function و یا یک ساختار کنترلی را مشخص می‌کند. به عنوان مثال اگر شما قصد دارید که درون یک تابع یا function را گام به گام و مرحله به مرحله پیمایش کنید، به راحتی می‌توانید از دستور step، برای انجام اینکار، استفاده کنید.
  2. next:: دستور next ما را به خط بعدی و یا بخش بعدی یک کد (مخصوصاً زمانی که میخواهیم یک function و یا یک ساختار کنترلی مانند حلقه for را نادیده بگیریم) منتقل می‌کند.
  3. list:: دستور list برای لیست کردن خطوط کد منبع (source code) مورد استفاده قرار می‌گیرد که با فعال شدن آن، به راحتی می‌توانیم متوجه شویم که در کدوم خط از کدها قرار گرفته‌ایم.
  4. backtrace:: دستور Backtrace، اطلاعاتی در مورد چگونه اجرا شدن مراحل اجرایی برنامه جاری در اختیار ما قرار می‌دهد و این اطلاعات را چاپ می‌کند. این دستور گاهی به صورت فوق ­العاده ­ایی ما را برای رفع خطاهای موجود در برنامه کمک می‌کند.

نکته مهم: در محاسبات، عملیات stack trace (ردیابی پشته‌ها که با اسامی دیگر چون stack backtrace یا stack traceback نیز خوانده می‌شود) شامل گزارشی از فریم های فعال پشته در هنگام اجرای برنامه (در نقطه مشخص) است.

به کد زیر دقت نمایید.

// Step-1 Run the script without any breakpoint 
var x = 5;
var y = 6;
var z = x + y; 
// run a for loop which will throw an error 
// add debugger here 
for(var i=0;i<12;i++){
    debugger; 
    console.log(i)
}

خروجی کد بالا در تصویر زیر برای شما به نمایش درآمده است.

تابع

همان‌گونه که در مثال بالا مشخص است، هنگامی که از دستور next استفاده می‌کنیم، ما یک گام به جلو منتقل می‌شویم، دستور CONT را می‌توان برای پرش به نقطه break  بعدی در کد استفاده کرد. همچنین توجه داشته باشید که به طور پیش‌فرض، debugger در خط اول کد شروع می‌شود، برای اینکه اجرای برنامه به نقطه break مورد نظر ما برود، ما باید از دستور "cont" استفاده کنیم.

کلیدهای میانبر برای دستورات debugging

به طور رایج برای اجرای دستورات خطایابی debugging می‌توان از یک سری کلید میانبر استفاده کرد که به شرح زیر می باشند:

cont  و c: برای اجرای دستور Continue مورد استفاده قرار می‌گیرند.

next  و n: پیش‌تر در مورد آن توضیح دادم.

step  و s: پیش‌تر در مورد آن توضیح دادم.

خلاصه

در درس 23ام از سلسله دروس 30 روز با نود جی اس، ما در مورد مبانی خطایابی debugger چیزهای زیادی یاد گرفتیم، اینکه چگونه می‌توانیم ماژول خطایابی Debugger را در node.js  فعال کنیم، همچنین دستورات خطایابی Debugger مفید را خدمت شما معرفی کردیم و در آخر نیز کلیدهای میانبر موجود برای این کار را نیز با هم دیدیم.

نویسنده شوید
دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.