发现文字描述还是太没有快感.上几幅图,来说明这个调试过程更好.此文对于深刻理解ebp,esp是具有长远意义的 可以看到,初始情况下,ebp此时值为0012FEDC,也就是栈帧的地址,而栈顶地址esp值为0012FDFC.可以看到两个值有一定的关系.而帧指针的地址较高. 然后我们让它执行前两句,push ebp,mov ebp,esp 可以看到前两句已经执行了,那么ebp跟esp的值也发生了变化.esp=0012FDF8,ebp=0012FDF8.为神马?一句句解读,push ebp,向栈里面压入…