任何可执行文件的GDB?

时间:2015-11-20 03:04:17

标签: debugging

是否可以在未使用GNU工具(gcc,gas,g ++)编译的可执行文件上使用GNU调试器并转储汇编代码?

1 个答案:

答案 0 :(得分:2)

是的,您可以在任何可执行文件上使用gdb。如果没有调试符号,一些命令就不会起作用,但是有很多命令在汇编级别工作。 stepi对于单步指令,您可以print注册(使用类似C的表达式语法:print $rbx+($rax<<$rcx))并修改它们。

但是为了生成整个程序的汇编转储,objdump -d更容易。 objdump -D如果在奇怪的地方有代码(有时是恶意软件的情况)。 objdump -s用于查看数据段。