当我运行我的程序(诚然,它是在调试模式下构建)时,我收到错误"外部异常80000003".
根据Win32异常/访问冲突错误,它意味着0x80000003 EXCEPTION_BREAKPOINT A breakpoint was encountered.
但是,IDE中没有设置断点,我在IDE之外运行它.
是的,我有正确的可执行文件.我删除了所有断点,清理了我的项目并重新构建了它,但仍然是那个对话框.我甚至删除了.exe,再次构建,看到它出现在预期的地方.验证.exe上的时间戳.我在FromCreate()中添加了一个消息框,看到了,加上"外部异常80000003".
如何让它消失(在调试模式下构建)?
D'哦!这是旧代码,我忘了我实际上已经在一个错误条件下对此进行了编码asm int 3 end;
,这标志着一个断点到IDE(或Windows,如果IDE没有运行,因此错误框).为浪费时间而道歉.
断点本质上是一个机器级指令(操作码?),它导致CPU处理暂停并引发异常类型信号.这通常由操作系统选取,然后用于某些用户进程,如调试器或simillar.
当我有这个时,几乎总是我的代码跳进了一些数据空间.我几乎总是这么说,因为我偶尔也会在调试一些恶梦时将断点硬编码成代码(!).
编辑:正如@Ken White所说的int 3(断点中断)是我用来硬编码的那个:-)
我要做的第一件事是获得一个堆栈跟踪和工作后缀.
归档时间: |
|
查看次数: |
27850 次 |
最近记录: |