我想通过一个二进制文件,我的老师一行一行地给我检查堆栈上的地址和不同寄存器的内容,但我对使用gdb并不是非常熟悉。虽然我有C代码,但我们应该完全使用二进制文件。这是我到目前为止使用的命令:
(gdb) file SomeCode
这给了我这条消息:
Reading symbols from ../overflow/SomeCode ...(no debugging symbols found)...done.
然后我用:
(gdb) disas main
给了我所有的装配。我想设置一个断点并使用“next”命令,但我尝试的命令都没有。有谁知道我会使用的语法?
答案 0 :(得分:3)
尝试使用ni
nexti
。等价是si
,这是步骤指令
答案 1 :(得分:2)
nexti如果你想跳过函数调用。 stepi如果你想进入函数调用。
以下文档非常有用;它有一个列表,列出了你可以在gdb上使用的所有重要命令。
X86-64:http://csapp.cs.cmu.edu/public/docs/gdbnotes-x86-64.pdf