存档

2011年1月 的存档

用gdb观察函数调用过程中栈上的那些事儿

2011年1月10日 评论已被关闭

“参数从右到左入栈”,“局部变量在栈上分配空间”,听的耳朵都起茧子了。
最近做项目涉及C和汇编互相调用,写代码的时候才发现没真正弄明白。
自己写了个最简单的函数,用gdb跟踪了调用过程,才多少懂了一点。

分类: gdb 标签: ,

some concepts about linux kernel

2011年1月10日 评论已被关闭

some concepts about Linux kernel

分类: LinuxDev 标签:

X86架构上函数调用过程的堆栈

2011年1月6日 评论已被关闭

理解调用栈最重要的两点是:栈的结构,EBP寄存器的作用。

分类: debugger theory, gdb 标签:

MyGdb(一) — 加载被调试程序

2011年1月6日 没有评论

从调试器的视角来看,正在运行的程序可以分为两类,一类是正常运行的,不受调试器干扰的程序。另一类是处于调试状态的程序,它的每一步运行都在调试器的掌控之下。

让程序处于调试状态大有2种方式,一种是静态加载,即由调试器来启动程序,告知系统,这个程序将要被调试。
第二种是动态加载,即程序正在运行,调试器通过一些系统调用来迫使使得程序处于调试状态。

分类: debugger theory, gdb 标签: ,