使用gdb跳到下一个“指令”
发布时间:2020-12-16 05:58:26 所属栏目:百科 来源:网络整理
导读:我试图计算金丝雀价值设定和检查机制. #include int main(void){ return printf("Hi!n");} 拆卸主机时,我得到 (gdb) disas main0x080483f4 : lea 0x4(%esp),%ecx0x080483f8 : and $0xfffffff0,%esp0x080483fb : pushl -0x4(%ecx)0x080483fe : push %ebp0x08
我试图计算金丝雀价值设定和检查机制.
#include int main(void) { return printf("Hi!n"); } 拆卸主机时,我得到 (gdb) disas main 0x080483f4 : lea 0x4(%esp),%ecx 0x080483f8 : and $0xfffffff0,%esp 0x080483fb : pushl -0x4(%ecx) 0x080483fe : push %ebp 0x080483ff : mov %esp,%ebp 0x08048401 : push %ecx 0x08048402 : sub $0x14,%esp 0x08048405 : mov %gs:0x14,%eax 0x0804840b : mov %eax,-0x8(%ebp) 0x0804840e : xor %eax,%eax 0x08048410 : movl $0x8048500,(%esp) 0x08048417 : call 0x8048320 0x0804841c : mov -0x8(%ebp),%edx 0x0804841f : xor %gs:0x14,%edx 0x08048426 : je 0x804842d 0x08048428 : call 0x8048330 0x0804842d : add $0x14,%esp 0x08048430 : pop %ecx 0x08048431 : pop %ebp 0x08048432 : lea -0x4(%ecx),%esp 0x08048435 : ret 我使用0x0804840e设置一个断点 b *0x0804840e 程序流程停止在这个断点之后,我希望gdb去下一个指令而不是下一行的c代码.我不认为我可以使用下一个这个.那么除了在每个指令上设置断点之外,还有什么其他选项? 解决方法
你想用stepi.它按照一个机器指令进行.
查看ftp://ftp.gnu.org/pub/old-gnu/Manuals/gdb/html_node/gdb_37.html了解更多信息 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |