我在Solaris调试正在运行的程序与GDB 6.6,并注意到有时用gdb步入(内联)功能,即使我发了下一个命令。 我的开发主机最近重新安装了solaris 10的一个稍微更新的版本,并且我确定自动步进在主机重新安装之前不存在。代码使用相同的选项进行编译,因为在主机重新安装后,makefile和所有源代码都保持不变。GDB自动步入内联函数
是否有任何影响gdb调试行为的设置/新的默认选项,我可以检查?有谁知道为什么我的gdb现在自动步骤?它真的很痛...
[编辑]澄清:我不是指inline
关键字,而是在头文件中实现的方法/函数。示例:
header.hpp:
class MyClass
{
public:
void someFunc() { ... does something }
}
source.cc:
{
MyClass instance;
instance.someFunc(); // doing NEXT in gdb will actually STEP into header.hpp
}
愚蠢的问题,但你确定你没有任何断点或任何内部被调用的功能? –
是的,非常确定。它在执行“cont”时不会中断。 – user826955