段錯誤的簡單調試方法

段錯誤如果是自己書寫代碼的時候寫出來的段錯誤對於比較熟悉c語言的開發者來說,自己立馬能夠意識到段錯誤位置。但是平常或者剛剛開始學習的人則不太好調試段錯誤;

這邊說一種比較笨但是好用的辦法調試段錯誤,如果是自己寫出來的,可以採用打印加延時的操作;

比如:

char buf[5];

char dstBuf[10];

memcpy(buf,dstBuf,sizeof(dstBuf));

這個段錯誤的調試可以如下方式:

char buf[5];

char dstBuf[10];

printf(“debug start\r\n");

sleep(1);

memcpy(buf,dstBuf,sizeof(dstBuf));

printf(“debug stop\r\n");

sleep(1);

通過以上這種方式段錯誤不會在出錯的時候直接打印出來,因爲程序會等待,這樣我們就可以確認代碼出錯在哪一段;

當然其他的段錯誤的調試方法還很多gdb什麼的,最好是在書寫的時候注意不要引入段錯誤;尤其多線程的時候或者消息隊列socket操作的時候更應該注意;

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章