2011-05-27 223 views
0

由于启用了某个控件,我得到了未处理的异常,因此无法找到确切的原因。它在汇编指令 00451901处给出错误add dword ptr [eax],eax但我可以'弄清楚未处理的异常的基本原因。请建议一些软件或任何其他事情来了解启用和禁用控制的影响。未处理的异常

+4

不能帮助你,直到你张贴相关的代码 – Ankur 2011-05-27 05:38:30

+0

,并在第一次机会异常 的时间后调用堆栈过。 – 2011-05-27 05:39:48

回答

3

你会得到例外,因为大多数肯定,eax包含的值不是可写内存区的地址。

所以,问题是为什么这条指令被执行。以下是提示:

指令机器码add dword ptr[eax], eax01 00

也就是说,这个指令的意外执行通常意味着你恰好执行了一些数据(例如32位常量'1')。

这通常是由于代码中的缓冲区或堆栈溢出或未正确分配的指针调用函数所致。

检查你的数组访问和函数指针调用。