是否有可能使gdb在反汇编过程中显示偏移量为负数?
例如,我正在处理一本书,它显示(从它们的函数的一个假定的反汇编转储中):
0x08048394 : mov DWORD PTR ebp-4,0x0
但是,当我运行这段代码并使用gdb反汇编命令时,我得到:
0x08048394 : movl $0x0xfffffc(%ebp)
我大概是在使用与作者相同的编译器和环境(就像它作为虚拟机映像出现在包含的CD上一样)。那么,为什么显示方式上的差异,以及为什么在指令上的差异呢?我用与作者相同的选项进行编译(简单地说,gcc -g)
谢谢!
发布于 2014-04-14 16:57:09
很抱歉回答我自己的问题..。
我发现这是因为gdb没有设置为intel语法,而这正是本书所使用的。通过输入命令“set反汇编情报”,一切都很好。我可能应该将它添加到.gdbinit文件中。
https://stackoverflow.com/questions/23065716
复制相似问题