作者tinlans ( )
看板CSSE
標題Re: [請益] 請問什麼是Debuger阿?
時間Sun Dec 31 12:14:18 2006
※ 引述《henry035 (Rex)》之銘言:
: 之前聽過一些大學教授在罵 現在有些資訊系學生連Debuger都不會用...
: 結果...我就是其中之一...
: 我原本以為Debug 就是用IDE寫完程式後 看看執行時在哪裡卡住
: .. 好像這些都跟Debuger無關
: 翻閱計概課本也無... 問助教...助教說自己去查...
: 顯然是個很蠢的問題...
: 但還是希望大大們能賜教~謝謝
每個環境的 debugger 都不一樣,
如果你是用 MS 的環境我也幫不了你,
因為我沒有。
所謂的會用 debugger,
一般而言是指:
1. 能在 source level 逐行執行程式 (分為 step into 跟 step over)
2. 知道 breakpoint、watchpoint 和 display 等基本功能的用法
3. 當利用 breakpoint 等功能讓程式停在某處時,
知道怎樣在不同的 stack frames 間切換並觀察變數、參數值
4. 在執行中的程式當掉的時候,有辦法利用類似 3. 的方式找出問題點
(在會 dump 出 core file 的 OS,也包括了利用 core file 來 debug)
當然 debugger 的功能不只有這些而已,
但我想這些應該是最基本的,
就算是 IDE 環境我想這些功能應該都找得到才對,
你可以先從 breakpoint 這個功能開始研究。
至於如何讓程式當掉,
方法很多,
隨便亂寫一行 *((int *)0x12345) = 10; 也可以,
當然是要在有記憶體保護的 OS 上才會當掉。
不會用 debugger 真的是很嚴重的問題,
好好的學吧。
--
Name: Tseng, Ling-hua E-mail Address:
[email protected]
School: National Tsing Hua University Department: Computer Science
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Software pipelining for VLIW architectures
Homepage:
https://it.muds.net/~uranus
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.224.36
推 waterdisney:謝謝!! 上了寶貴的一課 12/31 13:03
推 henry035:我目前用過的IDE有Dev-C++、jcreator還有vs2005(MS...) 01/01 21:30
推 henry035:難道說debugger就是IDE會列出的那些警告訊息之類的嗎? 01/01 21:32
推 henry035:謝謝大大詳細的解說喔~(感覺有稍微了解了一些) 01/01 21:34
推 popux:不是 01/01 21:54