7

我以前使用保存过的断点列表

save breakpoints blist

现在在编译程序后,当我尝试使用 load 命令重新加载相同的断点时

load blist

我收到这个错误

You can't do that when your target is `exec'

如何解决这个问题?

4

2 回答 2

17

load blist

Try source blist instead.

From "help save breakpoints":

Save current breakpoint definitions as a script.

The way to read a script is the source command. The load command means something different entirely.

于 2012-09-23T03:04:52.100 回答
0

我将断点保存到文件中,例如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 无法通过复制过去添加它们。我也不能在我的多线程系统上使用load命令。要附加 gdb 并加载断点,我使用以下序列:

gdb -p 1523 -x gdb.br

其中1523是您要附加到的进程 pid。-x主要用于加载命令、设置环境,但也可用于加载中断。希望这会有所帮助。

于 2018-02-22T10:09:13.597 回答