gdb按行号反汇编

时间:2012-07-01 21:58:13

标签: c gdb

假设我要反汇编文件x的行m-n,其中文件x不在当前上下文中。这项操作是否可行,若然,怎么办?注意:我正在使用x86 Linux。

3 个答案:

答案 0 :(得分:3)

您可以使用带有/m键的反汇编命令在其装配对应物前面显示原始C行:

disassemble /m 'my_file.c'::my_function

这不需要任何预备步骤,但它似乎并不像您要求的那样接受源行范围。

答案 1 :(得分:1)

这是一种愚蠢的方法:在您感兴趣的行上设置断点,断点确认为您提供地址。然后清除断点并在该地址上运行disasx/20i

答案 2 :(得分:1)

这是一个很晚的答案,也许是多余的答案,但是希望对像我这样的人有用,我想对这个问题和your other question on getting the address of a line number做出完整的答复。

disassemble命令can disassemble address rangesdisassemble [Start],[End]。但是您想拆卸行范围。

要获取源代码行的地址,可以使用the info line commandinfo line [File]:[Line]