读书人

debug出错汇编代码如上

发布时间: 2013-02-06 14:02:20 作者: rapoo

debug出错,汇编代码如下
debug 显示到cmp al,byte ptr[ecx]再往下就access violation
下一句是:jne donene(00407ad4)

没学汇编,不知道错在哪里

[解决办法]
楼主你应该定位在一个c++出错的地方,直接跳到汇编的话,应该看下callstack.
从cmp al,byte ptr[ecx]来看,则很可能是指针为空。

从跳转语句来看,很可能是楼主调用strcmp之类函数出错了。

楼主可以看下cmp al,byte ptr[ecx]前面几行显示的汇编代码,
比如有mov ecx, dword ptr [esp + 4],那么就表示strcmp的倒数第一个参数传错了,如果是esp+8,则是倒数第二个参数(也就是strcmp的第一个参数)。其他也可以以此类推
[解决办法]
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。

读书人网 >C语言

热点推荐