我正在尝试使用GDB进行调试,但发生了一件非常奇怪的事情。当我打印std::cerr << current_node << std::endl;
时,我会收到一个地址0x7a1ad0
。但是,当我进入GDB并输入命令print current_node
时,我会收到地址0x46863f
。当我试图调试current_node
内发生的事情时,这被证明是一个问题。 (注意:cerr
和GDB print
语句都在GDB的同一个实例中运行。
我意识到这不是一个很好的例子,可能无法复制,但我想知道是否有人知道是什么原因导致GDB内部发生这种情况。在任何情况下,我目前正在调试代码,通过在任何地方使用cerr
语句进行检测,而不是使用GDB。