Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 c++ 项目,其中调试和发布模式下的行为不同。例如,在发布模式下,我得到了错误的分配错误,而在调试模式下,一切都运行良好。也许这种差异来自不同的运行速度。
您是否有任何提示和提示如何在没有标准调试器(如 gdb)的情况下调试程序?我可以尝试在关键区域进行很多操作,但这似乎不是最明智的方法……也许有一种方法可以在不使用调试符号的情况下获取有关某些错误位置的信息?有什么工具吗?
如果您可以从崩溃中获得堆栈跟踪,则可以稍后对其进行符号化。例如,在 MacOS 上有一个工具atos,根据man页面:
atos
man
将数字地址转换为其符号等价物。
这将允许您在没有符号的情况下运行,但稍后使用它们。