繁体   English   中英

如何调试在加载时出现故障的代码?

[英]How to debug code that seg faults at load time?

我有一个相当复杂的 C++ 代码,一旦加载就会产生分段错误。 main() 中的第一条语句永远不会被执行。 我认为问题出在 static 库 libWhatever.a 上,因为只有在我尝试从该库实例化 object 时才会发生分段错误。 聪明人会如何调试这个问题?

编辑#1:实例化 object 的代码永远不会执行。 事实上,我把它放在一个带有我知道是不可能的子句的 if 语句中(但编译器不知道)。 这就是为什么我认为代码在加载时出现段错误的原因。

使用 valgrind:

valgrind <yourProgram>

它会告诉你 memory 泄漏在哪里。

或者,您可以使用gdb通过单步执行代码来查看它在哪里中断。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM