在Gdb中,如何将条件断点设置为函数';s第三线
如何在GDB中将条件断点设置为函数的第三行 我知道我可以给出文件名+行号,但这对我不起作用。在Gdb中,如何将条件断点设置为函数';s第三线,gdb,Gdb,如何在GDB中将条件断点设置为函数的第三行 我知道我可以给出文件名+行号,但这对我不起作用。 我必须将gdb命令存储为脚本,以便以后重复,我不想每次源文件更改时都更改脚本。条件断点 输入以下内容, 假设必须在函数内的行上应用断点 (gdb) break <function-name> …你现在在功能的第三行 更新: 此外,要在变量更改值时中断,请使用以下命令: (gdb) watch variable==value 有关更多详细信息,请参阅: - -为gdb定义您自己的命令文
我必须将gdb命令存储为脚本,以便以后重复,我不想每次源文件更改时都更改脚本。条件断点
输入以下内容,
假设必须在函数内的行上应用断点
(gdb) break <function-name>
…你现在在功能的第三行
更新:
此外,要在变量更改值时中断,请使用以下命令:
(gdb) watch variable==value
有关更多详细信息,请参阅:
-
-为gdb定义您自己的命令文件,然后在调试期间将其来源化如何?这将有助于减少大量的打字。试试这个: 创建一个文件,我们称之为mydef,其内容如下:
define cmd
b function-where-you-want-to-break
r
b +2
c
end
在gdb中加载可执行文件后,在gdb提示符中键入source mydef
,然后键入cmd
现在您进入了函数开始的第二行。:)
希望这有帮助 谢谢,问题是条件只在第三行有效,因为它使用函数局部变量。
(gdb) watch variable==value
define cmd
b function-where-you-want-to-break
r
b +2
c
end