标签:sse 准备 指令 总结 min 工具 内存 gcc编译 跟踪
本次实践我参照了许多先做了的同学的博客,有卢肖明,高其,张梓靖同学。代码借用的是卢肖明同学的代码进行调试运行。
gcc -g gdbtest.c -o gdbtest -m32
命令在64位的机器上产生32位汇编代码在使用gdb进行调试运行时,有cgdb和gdb两种工具,我建议大家使用张梓靖同学使用的cgdb工具,因为使用时可以随时看到自己的源代码,看到我们的断点在哪里,每一步返回值到了哪行,更加直观。
使用b main指令在main函数处设置断点,然后,使用r指令运行代码,使用disassemble指令获取汇编代码
使用display /i $pc(结合display命令和寄存器/pc内部变量)指令进行设置
将上一个函数的基址入栈,从当前%esp开始作为新基址:
call指令将下一条指令的地址入栈,此时%esp,%ebp和堆栈的值为:
函数f修改了%esp,用leave指令恢复。
ret结束main函数
标签:sse 准备 指令 总结 min 工具 内存 gcc编译 跟踪
原文地址:http://www.cnblogs.com/20145205y/p/6132211.html