6

On Vista, I got a problem with the application crash handler. Basically, if something unexpected occurs which cannot be captured by SEH, I get this pop-up window with "The application stopped working", blablabla, "Close program/Debug program" -- that is, after I disable the error reporting using the system control panel. With error reporting enabled, you would get a task dialog with search for solution online, close, debug.

This is not so funny if it happens in automated tools, and I wonder whether there is a way to get rid of it totally, read, if my app crashes, it just crashes to the command line or disappears but does not bring up a dialog.

Anteru
  • 19,042
  • 12
  • 77
  • 121

2 Answers2

6

Use

SetErrorMode(SetErrorMode(0)|SEM_NOGPFAULTERRORBOX);

But I would suggest to install an exceptions handler which creates a dump so you can verify what happened. For example crashrpt (or here).

See also

wimh
  • 15,072
  • 6
  • 47
  • 98
0

Function signal works on all POSIX platforms:

signal(SIGSEGV, &signal_handler);

If you need to trap an exception that isn't supported by signal, you can also take a look at AddVectoredExceptionHandler, a function specific to W32.

Raymond Martineau
  • 5,959
  • 1
  • 20
  • 12