#include int main(voID){ return printf("Hi!\n");}
拆卸主机时,我得到
(gdb) disas main0x080483f4 : lea 0x4(%esp),%ecx0x080483f8 : andb *0x0804840exfffffff0,%esp0x080483fb : pushl -0x4(%ecx)0x080483fe : push %ebp0x080483ff : mov %esp,%ebp0x08048401 : push %ecx0x08048402 : sub x14,%esp0x08048405 : mov %gs:0x14,%eax0x0804840b : mov %eax,-0x8(%ebp)0x0804840e : xor %eax,%eax0x08048410 : movl x8048500,(%esp)0x08048417 : call 0x8048320 0x0804841c : mov -0x8(%ebp),%edx0x0804841f : xor %gs:0x14,%edx0x08048426 : je 0x804842d 0x08048428 : call 0x8048330 0x0804842d : add x14,%esp0x08048430 : pop %ecx0x08048431 : pop %ebp0x08048432 : lea -0x4(%ecx),%esp0x08048435 : ret
我使用0x0804840e设置一个断点
程序流程停止在这个断点之后,我希望gdb去下一个指令而不是下一行的c代码.我不认为我可以使用下一个这个.那么除了在每个指令上设置断点之外,还有什么其他选项?
解决方法 你想用stepi.它按照一个机器指令进行.查看ftp://ftp.gnu.org/pub/old-gnu/Manuals/gdb/html_node/gdb_37.html了解更多信息
总结以上是内存溢出为你收集整理的使用gdb跳到下一个“指令”全部内容,希望文章能够帮你解决使用gdb跳到下一个“指令”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)