为什么GDB打印地址与cerr打印地址不同?

时间:2015-02-10 08:44:13

标签: c++ debugging gdb

我正在尝试使用GDB进行调试,但发生了一件非常奇怪的事情。当我打印std::cerr << current_node << std::endl;时,我会收到一个地址0x7a1ad0。但是,当我进入GDB并输入命令print current_node时,我会收到地址0x46863f。当我试图调试current_node内发生的事情时,这被证明是一个问题。 (注意:cerr和GDB print语句都在GDB的同一个实例中运行。

我意识到这不是一个很好的例子,可能无法复制,但我想知道是否有人知道是什么原因导致GDB内部发生这种情况。在任何情况下,我目前正在调试代码,通过在任何地方使用cerr语句进行检测,而不是使用GDB。

0 个答案:

没有答案