~2 دقیقه مطالعه • بروزرسانی ۶ دی ۱۴۰۴
1. شروع Debugger
برای استفاده از دیباگر، کافی است Node.js را با آرگومان inspect اجرا کنید:
$ node inspect myscript.js
دیباگر بهطور پیشفرض روی اولین خط اجرایی متوقف میشود.
2. اجرای تا اولین Breakpoint
برای اجرای کد تا اولین دستور debugger، متغیر محیطی زیر را تنظیم کنید:
$ NODE_INSPECT_RESUME_ON_START=1 node inspect myscript.js
3. repl و اجرای دستورات
با دستور repl میتوان کد را در همان محیط اجرا کرد:
debug> repl > x 5 > 2 + 2 4
4. Watchers
برای مشاهدهٔ تغییرات متغیرها در هر breakpoint:
watch('expr'): افزودن عبارت به لیست Watch.unwatch('expr'): حذف Watch.watchers: نمایش همهٔ Watchها.
5. دستورات اصلی Debugger
cont: ادامهٔ اجرا.next: اجرای خط بعدی.step: ورود به تابع.out: خروج از تابع.pause: توقف اجرای کد.
6. Breakpoints
setBreakpoint(line): تعیین breakpoint روی خط مشخص.setBreakpoint('script.js', 1): تعیین breakpoint روی فایل دیگر.setBreakpoint('script.js', 1, 'num < 4'): تعیین breakpoint شرطی.clearBreakpoint('script.js', 1): حذف breakpoint.
7. اطلاعات و پروفایلینگ
backtrace: نمایش مسیر اجرای فعلی.list(5): نمایش ۵ خط قبل و بعد از موقعیت فعلی.profile / profileEnd: شروع و پایان پروفایل CPU.takeHeapSnapshot(): گرفتن snapshot از حافظه.
8. کنترل اجرا
run: اجرای اسکریپت.restart: اجرای مجدد.kill: توقف اجرای اسکریپت.
9. ادغام با V8 Inspector
با استفاده از Chrome DevTools میتوان خطایابی پیشرفته انجام داد:
--inspect: اجرای کد و اتصال دیباگر.--inspect-wait: انتظار برای اتصال دیباگر قبل از اجرای کد.--inspect-brk: توقف روی اولین خط کد.
$ node --inspect index.js Debugger listening on ws://127.0.0.1:9229/...
نتیجهگیری
ابزار Debugger در Node.js امکان خطایابی سریع و ساده را فراهم میکند. با ترکیب آن با V8 Inspector و Chrome DevTools میتوان به خطایابی پیشرفتهتر، بررسی حافظه و پروفایلینگ CPU دست یافت. این ابزارها توسعهدهندگان را قادر میسازند تا کدهای پایدارتر و قابل اعتمادتر تولید کنند.
نوشته و پژوهش شده توسط دکتر شاهین صیامی