我正在尝试使用gdb调试程序。这就是我打电话的方式,以及我给出的命令:
> gdb --args program arg1 arg2
(gdb) b program.cpp:251
Breakpoint1 at 0x.... file...., line 251.
(gdb) r
[...]
Breakpoint 1, main (argc=3....
然后我输入了n
四次,从第251行到256号。我再次按了n,然后在第251行结束。随后的调用将我带回245,237,232,224等。
我不在任何级别的循环中。如何让gdb走向正确的方向?
我已尝试使用rc
。它说:Target multi-thread does not support this command.
与reverse-next
相同。
我尝试过“关闭再打开”(重启gdb)。
以下是逆转发生的背景。很多库代码,但我可以解释一些可能需要澄清的内容。
int main(int argc, char** argv) // 163
{
try
{
[...]
ReadControl reader; // 251
reader.setLogger(logger);
reader.setRegistry(registry);
reader.load(testFile, testPaths); //255
sharedPointer<Container> container(reader.getContainer());