发信人: System_Killer@bbs.ustc.edu.cn
(大家一起来发呆), 信区: Linux
标 题: gdb(七)
发信站: 中国科大BBS站 (Fri Apr 10 17:20:34 1998)
转信站: SwordHouse!linux.ustc.edu.cn!ustcnews!ustcbbs
停止和继续
***********************
调试器的基本功能就是让你能够在程序运行时在终止之前在某些条件下停止下来,然
后再继续运行,这样的话你就可以检查当你的程序出错时你的程序究竟做了些什么。
在gdb内部,你的程序会由于各种原因而暂时停止,比如一个信号,一个断点,或是
由于你用了'step'命令。在程序停止的时候你就可以检查和改变变量的值,设置或去掉
断点,然后继续你程序的运行。一般当程序停下来时gdb都会显示一些有关程序状态的信
息。比如象程序停止的原因,堆栈等等。如果你要了解更详细的信息,你可以使用'info
program'命令。另外,在任何时候你输入这条命令,gdb都会显示当前程序运行的状态信
息。
`info program'
显示有关你程序状态的信息:你的程序是在运行还是停止,是什么进程,为什么停
止。
断点,观察点和异常
========================================
断点的作用是当你程序运行到断点时,无论它在做什么都会被停止下来。对于每个断点
你都可以设置一些更高级的信息以决定断点在什么时候起作用。你可以使用'break’命令
来在你的程序中设置断点,在前面的例子中我们已经提到过一些这个命令的使用方法了。
你可以在行上,函数上,甚至在确切的地址上设置断点。在含有异常处理的语言(比如象
c++)中,你还可以在异常发生的地方设置断点。
在SunOS 4.x,SVR4和Alpha OSF/1的设置中,你还可以在共享库中设置断点。
观察点是一种特殊的断点。它们在你程序中某个表达式的值发生变化时起作用。你必
须使用另外一些命令来设置观察点。除了这个特性以外,你可以象对普通断点一样对观察
点进行操作--使用和普通断点操作一样的命令来对观察点使能,使不能,删除。
你可以安排当你程序被中断时显示的程序变量。
当你在程序中设置断点或观察点时gdb为每个断点或观察点赋一个数值.在许多对断点
操作的命令中都要使用这个数值。
--
※ 来源: 中国科大BBS站 [bbs.ustc.edu.cn]
按任何键继续 ..
--
※ 来源:·BBS 水木调试站 Leeward.lib.tsinghua.edu.cn·[FROM: 202.200.37.100]
本文转自中文Linux论坛