Linux 版 (精华区)
发信人: netiscpu (说不如做), 信区: Unix
标 题: GDB(14) --设置断点
发信站: 紫 丁 香 (Sat Jun 13 22:15:24 1998), 转信
【 以下文字转载自 cnlinux 讨论区 】
【 原文由 System_Killer@bbs.ustc.edu.cn 所发表 】
设置断点
=============
使用'break'或简写成'b'来设置断点。gdb使用环境变量$bpnum来记录你最新设置的
断点。
你有不少方法来设置断点。
`break FUNCTION'
此命令用来在某个函数上设置断点。当你使用允许函数重载的语言比如C++时,有可
能同时在几个重载的函数上设置了断点。
`break +OFFSET'
`break -OFFSET'
在当前程序运行到的前几行或后几行设置断点。OFFSET为行号。
`break LINENUM'
在行号为LINENUM的行上设置断点。程序在运行到此行之前停止。
`break FILENAME:LINENUM'
在文件名为FILENAME的原文件的第LINENUM行设置断点。
`break FILENAME:FUNCTION'
在文件名为FILENAME的原文件的名为FUNCTION的函数上设置断点。
当你的多个文件中可能含有相同的函数名时必须给出文件名。
`break *ADDRESS'
在地址ADDRESS上设置断点,这个命令允许你在没有调试信息的程
序中设置断点。
`break'
当'break'命令不包含任何参数时,'break'命令在当前执行到的程
序运行栈中的下一条指令上设置一个断点。除了栈底以外,这个命令使
程序在一旦从当前函数返回时停止。相似的命令是'finish',但'finish'
并不设置断点。这一点在循环语句中很有用。
gdb在恢复执行时,至少执行一条指令。
`break ... if COND'
这个命令设置一个条件断点,条件由COND指定;在gdb每次执行到此
断点时COND都被计算当COND的值为非零时,程序在断点处停止。这意味着
COND的值为真时程序停止。...可以为下面所说的一些参量。
`tbreak ARGS'
设置断点为只有效一次。ARGS的使用同'break'中的参量的使用。
`hbreak ARGS'
设置一个由硬件支持的断点。ARGS同'break'命令,设置方法也和
'break'相同。但这种断点需要由硬件支持,所以不是所有的系统上这个
命令都有效。这个命令的主要目的是用于对EPROM/ROM程序的调试。因为
这条命令可以在不改变代码的情况下设置断点。这可以同SPARCLite DSU
一起使用。当程序访问某些变量和代码时,DSU将设置“陷井”。注意:
你只能一次使用一个断点,在新设置断点时,先删除原断点。
--
※ 来源: 中国科大BBS站 [bbs.ustc.edu.cn]
--
※ 转载:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.514毫秒