我已经覆盖了新的(unsigned int)和delete(void *)运算符,以便手动跟踪和关于堆的信息作为学习过程。虽然我无法跟踪新的操作员功能。
我正在使用CodeBlocks和GDB。无论我是单步执行操作符函数还是断点操作,如果我单步执行返回指令,它都无法跟随调用函数。 “调用堆栈”窗口也不显示调用者函数地址。
有任何线索吗?提前谢谢!
答案 0 :(得分:1)
虽然问题中没有足够的信息可以肯定地回答,但我会猜测。
我的猜测是你正在尝试调试优化版本,甚至可能没有调试符号。
如果你在没有优化的情况下构建(-O0
),生成的代码将更接近地匹配源,因为优化器不会有内联函数,移动代码等等。如果启用调试符号({{1} })编译器会将更多信息放入二进制文件中,调试器可以使用它来为您提供有关符号和值的更准确信息。