[大三下] 當助教,自己學到的最多(113.3.10)

兒子這學期擔任程式語言的助教,

全家一起吃飯時我假裝拳頭是一支麥克風,

請他發表當助教感言。

 

女兒先問:如果有人問白癡的問題怎麼辦?兒子沒有正面回答,他說助教就是要幫忙解決問題,直接看程式就對了。以前爸爸會教他如何偵錯,養成的能力現在就派上了用場。

偵錯的第一步就是看懂編譯系統列出的錯誤訊息,解讀並修改程式。Syntax Error 指的是文法錯誤,有時會忘了右括號 },或是「==」打成「=」,而我最怕的是 Segmentation Fault,那表示資料的存取有問題,要花比較多的力氣去找蟲(bug)。

當我和爸爸分享以前的偵錯經驗時,女兒說蔡助教、林助教上身了,乾脆自己跳下去幫忙好了。兒子則說這幾周累積的經驗,讓他偵錯的功力大增,大量的閱讀錯誤訊息,重複出現十次、二十次的,很快就能找出問題所在,反而是自己學到的最多。

 

以下資料來自維基百科:

記憶體區段錯誤(英語:Segmentation fault,經常被縮寫為segfault),又譯為記憶體段錯誤,也稱存取權限衝突(access violation),是一種程式錯誤。

它會出現在當程式企圖存取CPU無法定址記憶體區段時。當錯誤發生時,硬體會通知作業系統產生了記憶體存取權限衝突的狀況。作業系統通常會產生核心轉儲(core dump)以方便程式員進行除錯。通常該錯誤是由於調用一個位址,而該位址為空(NULL)所造成的,例如鏈結串列中調用一個未分配位址的空鏈錶單元的元素。陣列訪問越界也可能產生這個錯誤。

arrow
arrow
    全站熱搜

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