【发布时间】:2014-04-19 19:04:44
【问题描述】:
作为我工作的一部分,我经常需要分析有/没有核心转储的不可重现的零售崩溃。我一般都配备
- 调用堆栈、崩溃时的注册表信息、信号信息
- 实际负载模块
- 匹配源代码
一般来说,基于偏移量并通过objdump生成反汇编,我计算出失败的指令(机器代码/汇编代码)。
下一个工作很乏味。我尝试将失败的指令映射到实际的源位置。这是耗时且痛苦的。有没有一种轻松、简单的方法可以将源代码映射到失败的指令?
我尝试使用 gcc -S 选项使用程序集源,但无法有效地映射源。我通常找不到一种合乎逻辑的方法来将程序集输出与源的崩溃偏移量映射。
请建议推荐的方法。
【问题讨论】:
-
如何使用带有“-S”选项的objdump?
-
@Nick:没有调试信息也能正常工作吗?
-
不,你必须在私人副本上启用它,就像 Jester 建议的那样。
标签: c++ linux debugging assembly g++