At shutdown (initiated by an UPS) my application crashes and a messagebox appears.
The text in the messagebox is "The exception unknown software exception (0x40000015) occurred in the application".
I browsed ntstatus.h
and found STATUS_FATAL_APP_EXIT
? If it were right, why the message box say "unknown software exception"?
One of the main reasons the error occurs is that the system files are corrupted. Here, running the System File Checker and automatically repairing corrupt files can help to fix Error 0x40000015 in Windows: Type cmd in the Windows search bar. Right-click on Command Prompt and select Run as administrator.
If the error message doesn't come up, then you have to find the startup program or service that is clashing with the app and triggering the Unknown Software Exception (0xc06d007e) error message. To isolate the responsible program, open the System Configuration dialog, enable a single startup, and then restart your PC.
Yes, 0x40000015 means STATUS_FATAL_APP_EXIT. Your app causes an unhandled runtime exception during shutdown. Some runtime exceptions are actually handled if you don't handle them yourself, and some of these default handlers call abort()
. By default, abort
calls:
_call_reportfault(_CRT_DEBUGGER_ABORT, STATUS_FATAL_APP_EXIT, EXCEPTION_NONCONTINUABLE);
abort
is a generic termination - it doesn't know what specific exception prompted it to be called, hence the generic 'unknown software exception' message.
One path to abort is via the _purecall exception - calling an unimplemented pure virtual call.
Gleaned from purevirt.c and abort.c in the Visual Studio\VC\crt\src directory.
MSDN has documentation on overriding the default pure call exception handler.
Here are some related questions:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With