作者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
1F:推 waterdisney:谢谢!! 上了宝贵的一课 12/31 13:03
2F:推 henry035:我目前用过的IDE有Dev-C++、jcreator还有vs2005(MS...) 01/01 21:30
3F:推 henry035:难道说debugger就是IDE会列出的那些警告讯息之类的吗? 01/01 21:32
4F:推 henry035:谢谢大大详细的解说喔~(感觉有稍微了解了一些) 01/01 21:34
5F:推 popux:不是 01/01 21:54