使用gdb同时执行工作和错误代码

时间:2012-07-24 18:07:48

标签: gdb

我有一个有错误的C代码和一个没有显示错误的旧版本。现在,我想同时使用两个gdb会话来逐步执行代码。我正在寻找一种方法来做到这一点,而不必在每个gdb会话中输入n。换句话说,我正在寻找一种方法来链接会话,当我按下一个gdb命令时,它将传播到另一个。可以这样做吗?

感谢。

2 个答案:

答案 0 :(得分:2)

我猜你可以使用Multiple Inferiors(未经测试)在单个gdb会话中完成。

首先,您可以创建2个下级,一个用于新的buggy版本,另一个用于旧版本。然后,您需要为next命令定义Command Hook,如下所示:

define hookpost-next
inferior 2
next
inferior 1
end

答案 1 :(得分:1)

你可以在tmux / screen中打开两个窗格来完成此操作。请参阅此链接http://www.wikivs.com/wiki/Screen_vs_tmux和有关同步窗格的部分。对于tmux:

ctrl-b :set-window-option synchronize-panes on|off 

应该做的伎俩