How to get rid of exception 80000003?

11

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.

delphi
asked on Stack Overflow Aug 13, 2012 by Mawg says reinstate Monica • edited Aug 13, 2012 by Toon Krijthe

1 Answer

9

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.

answered on Stack Overflow Aug 13, 2012 by Preet Sangha • edited Aug 13, 2012 by Preet Sangha

User contributions licensed under CC BY-SA 3.0