我以前使用
save breakpoints blist
现在编译程序后,当我尝试使用 load 命令重新加载相同的断点时
load blist
我收到此错误
You can't do that when your target is `exec'
如何解决这个问题?
加载列表
请尝试source blist
。
从"help save breakpoints"
:
Save current breakpoint definitions as a script.
读取脚本的方法是source
命令。load
命令的含义完全不同。
我已将断点保存到文件中,例如 gdb.br,文件内容如下所示:
br /project/src/file.c : 100
commands
silent
printf "nbacktrace:n"
bt
cont
end
此中断仅输出回溯并继续执行。您也可以使用简单的休息时间,例如:
br /project/src/file.c : 100
br className::methodName
我在那里有很多休息时间 - gdb 无法通过复制粘贴添加它们。此外,我无法在多线程系统上使用加载命令。为了附加 gdb 并加载断点,我使用以下顺序:
gdb -p 1523 -x gdb.br
其中 1523 是要附加到的进程 pid。-x 主要是 意图用于加载命令,设置环境,但也可用于加载您的中断。希望这会有所帮助。