是否有可能让gdb记录到终端而不是破坏它?例如,我想在某些方法上设置'断点',并且每次调用该方法时都有gdb print self和参数.基本上我想将print语句插入任意位置而不实际重新编译.
谢谢你的任何建议
这是我在这些有用的评论后到目前为止所得到的:
define logFoo
b fooMethod
commands
po self
end
end
Run Code Online (Sandbox Code Playgroud)
但GDB似乎并不喜欢嵌套的end语句.有什么想法吗?
ks1*_*322 11
您可以使用断点命令列表.有一个例子如何做到这一点.
例如,以下是当x为正数时,如何使用断点命令在入口foo处打印x的值.
Run Code Online (Sandbox Code Playgroud)break foo if x>0 commands silent printf "x is %d\n",x cont end