در این مقاله کوتاه من به شما نحوه ایجاد یک فایل اجرایی و همچنین تولید اطلاعات اشکال زدایی اما در یک فایل کاملا جداگانه نشان می دهم.
چندین بار بوده است که می خواستم درک کنم چه مشکلی در یک برنامه رخ داده است اما اطلاعات اشکال زدایی در دسترس نبود. بدون اطلاعات اشکال زدایی تقریباً غیرممکن است که بتوانیم اتفاقات رخ داده را درک کنیم. این امر خصوصاً برای برنامه های بزرگتر صدق می کند.
امروز ما با یک چیز فوق العاده ساده کار خواهیم کرد:
int factorial(int n) {
if(n==1) {
return 1;
}
else {
return n * factorial(n-1);
}
}
int main(int argc, char **argv) {
int x = factorial(5);
switch(x) {
case 120:
return 0;
default:
return -1;
}
return -1;
}
این را در فایلی به نام ذخیره کنید
main.c
.
اکنون می توانیم از کامپایلر c برای تولید اجرایی استفاده کنیم:
این یک فایل باینری به ما می دهد ، اما متاسفانه هیچ اطلاعات اشکال زدایی در آن وجود ندارد. اگر برنامه ای مانند این را در تولید اجرا کنیم و به هر دلیلی نیاز به اشکال زدایی از این برنامه داریم تا بفهمیم چه اتفاقی افتاده است ، دیگر شانس نداریم. من می دانم که برخی از شما ممکن است بگوید – “سلام ، شما هرگز نباید برنامه ها را در تولید اشکال زدایی کنید” اما شرایطی پیش خواهد آمد که تنها راه این است.
در حالت ایده آل ، برنامه ها باید تا زمان تولید به حدی خوب باشند که …