close

1.Linux下可以使用gdb進行debug

2.bug - segmentation fault

 

Linux下使用gdb進行debug

主要的procedure為:

1.對file加入除錯符號資訊

2.進入gdb

3.指定要除錯的file

4.開始debug - run

以下為兩個reference 的web site

[1]http://www.cis.nctu.edu.tw/~is93007/acd.htm

[2]http://www-2.cs.cmu.edu/~gilpin/tutorial/

 

bug - segmentation fault

FILE *fr;

int i;

for(i=0;i<100;i++)

{

  fr = fopen("a.txt","r"); //bug , 正確要放在iteration外面

}

fclose(fr);

因為在iteration中 , 每次都會開啟a.txt這個file , 而fr一直沒有被close ,

所以iteration次數一多時 , 會造成memory被灌爆 , 導致segmentation fault的產生.

(雖然說 , 這樣執行下來 , 結果也是不正確的 , 因為每次都會read到first line.)

http://www.cmlab.csie.ntu.edu.tw/~daniel/linux/gdb.html

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 JerryCheng 的頭像
    JerryCheng

    KwCheng's blog

    JerryCheng 發表在 痞客邦 留言(0) 人氣()