Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

This application has requested the Runtime to terminate it in an unusual way.

Tags:

c++

windows

crash

Over the years, I've seen C++ applications the employ the "unusual way" language in a crash. For example:

This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.

The first of these I debugged, it had something to do with a destructor being fired for a class, in an inheritance chain, that already had been deleted. I can't remember the particulars better than that. When I google this topic, I find one or two other suggested causes. For example, that the binaries themselves have become corrupt and must be re-written.

Overall, I find the information on this kind of crash to be much too thin. I'd like to see two things:

  1. A formal explanation of why this type of termination exists (and which Windows platforms, if relevant).
  2. A list of all reasons, or at least the common reasons, why this type of crash occurs.

Anyone know where this information can be found? Can anyone provide this information?

like image 969
Brent Arias Avatar asked Mar 22 '11 18:03

Brent Arias


People also ask

How do you fix the application has requested the runtime to terminate it in an unusual way?

Open control pannel> program and features > repair all versions of Microsof visual c++ then restart pc and test 3. uninstall all the Microsoft visual c++ versions and download and install them again from Microsoft.com restart and test.

What causes runtime error in C++?

Below are some methods to identify the reason behind Runtime error: Method 1: When the index of the array is assigned with a negative index it leads to invalid memory access during runtime error. Below is the C++ Program to illustrate the invalid memory access during run-time: C++

Why do I keep getting runtime error?

A runtime error is a software or hardware problem that prevents Internet Explorer from working correctly. Runtime errors can be caused when a website uses HTML code that's incompatible with the web browser functionality.


1 Answers

This dialog is produced by the visual studio runtime, in response to abort(). abort() is by default called by e.g. terminate(). You'll get this from e.g. unhandled c++ exceptions, call to pure virtuals, failed assertions.

So, it's not platform dependent, but run-time library dependent. abort() is, by the c++ standard, required to terminate the program without executing destructors for automatic and static storage objects, and without calling atexit() handlers.

like image 84
Erik Avatar answered Sep 28 '22 11:09

Erik