如何摆脱异常80000003? [英] How to get rid of exception 80000003?

查看:696
本文介绍了如何摆脱异常80000003?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我运行我的程序(诚然,它是内置在调试模式),我得到一个错误外部异常80000003。



根据 Win32异常/访问冲突错误它意味着 0x80000003 EXCEPTION_BREAKPOINT遇到一个断点。



但是,IDE中没有设置断点,而是在IDE之外运行断点。



是的,我有正确的可执行文件。我删除了所有的断点,清理了我的项目并重新构建,但仍然是对话框。我甚至删除了.exe,再次构建,看到它出现在预期。验证了.exe的时间戳。我向FromCreate()添加了一个消息框,并看到,加上外部异常80000003。



如何让它消失(构建在调试模式下)? / p>




D'哦!这是旧的代码,我忘了,我实际上已经在一个错误条件 asm int 3 end; 中编码了这个代码,这意味着断点到IDE(或Windows,如果IDE没有运行,那么错误框)。对于时间浪费感到歉意。

解决方案

断点本质上是一个机器级指令(操作码),导致CPU处理暂停,异常类型信号提出。这通常由操作系统拾取,然后到一些用户进程,如调试器或simillar。



当我这样做时,几乎总是当我的代码跳过进入一些数据空间。我几乎总是说,当我偶尔调试一些噩梦时,我已经将错误的断点变成了代码。



编辑:作为@Ken White说int 3(断点中断)是我用来硬编码的: - )



首先我要做的是获取堆栈跟踪和工作背景。


When I run my program (admittedly, it was built in debug mode), I get an error "External exception 80000003".

According to Win32 Exception/Access Violation Errors it means 0x80000003 EXCEPTION_BREAKPOINT A breakpoint was encountered.

However, there are no breakpoints set in the IDE and I am running it outside of the IDE.

Yes, I have the correct executable. I deleted all breakpoints, cleaned my project and built it afresh, but still that dialog box. I even deleted the .exe, built again, saw it appear where expected. Verified the timestamp on the .exe. I added a message box to FromCreate() and saw that, plus "External exception 80000003".

How do I make that go away (building in debug mode)?


D'oh!! It was old code and I forgot that I actually had coded this in one error condition asm int 3 end; of course, that signals a breakpoint to the IDE (or to Windows, if the IDE is not running, hence the error box). Apologies for time wasting.

解决方案

A breakpoint is essentially a machine level instruction (opcode?) that causes the CPU processing to pause and an exception type signal raised. This is usually picked up by the OS and then onto some user process like a debugger or simillar.

When I've had this it's nearly always been when my code as jumped into some data space. I say nearly always as I've hardcoded breakpoints into code accidently when debugging some nightmares occasionally too (!).

Edit: As @Ken White says int 3 (the breakpoint interrupt) is the one I used to hard code :-)

First thing I would do is get a stack trace and work backwords.

这篇关于如何摆脱异常80000003?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆