۱۳۹۸/۱۰/۲۹

نوشته شده توسط Reza Alizadeh Majd
دسته بندي: , , , , ,


یکی از ابزاری که در نبود IDE مخصوصا در محیط ریموت میتونه کمکمون کنه تا دلیل کرش کردن برنامه رو کشف کنیم استفاده مستقیم از خود GDB هستش.

برای مثال برنامه زیر رو که موقع اجرا خطا میده میخوایم با GDB دیباگ کنیم:

وقتی به صورت عادی برنامه رو اجرا کنیم با خطای زیر روبرو میشیم:‌

$ ./hello
Floating point exception

اجرای برنامه بوسیله GDB

برای اینکه برنامه رو با gdb اجرا کنیم کافیه تا اون رو به عنوان ورودی به GDB بفرستیم و بعد با دستور `run` برنامه رو اجرا کنیم:

$ gdb ./hello
(gdb) run




و موقع بروز خطا با استفاده از back trace به بررسی مشکل بپردازیم:

(gdb) bt


همونطور که میبینید GDB اطلاعاتی راجع متدی که خطا در اون پیش اومده در اختیارمون قرار میده.



ذخیره لاگ در فایل

برای این منظور باید قبل از اجرای برنامه با دستور run تنظیمات لاگ مربوط به GDB رو بصورت زیر انجام بدیم:


(gdb) set logging on
(gdb) set logging file /path/to/log/file


همچنین برای مشاهده تنظیمات فعلی لاگ GDB از دستور زیر میتونیم استفاده کنیم:

(gdb) show logging


0 نظر:

پست کردن نظر