When a debug version of a unit test application using Boost.Test crashes
on Windows, no popup appears that asks for attaching the debugger.
Instead, the process prints a stack dump to standard output and then
exits normally. Attaching the debugger before the process crashes does
not help.
Although this is helpful when running tests automatically with no user
interaction, it makes it very hard to manually debug unit tests that
have crashed.
According to the Boost.Test documentation, it is possible to pass
framework parameters to Boost. In particular, there is a "catch system
errors" parameter, which looks like it should be able to turn off this
behavior (please correct me if I am wrong).
http://www.boost.org/doc/libs/1_35_0/libs/test/doc/components/utf/parameters...
http://www.boost.org/doc/libs/1_35_0/libs/test/doc/components/utf/parameters...
We tried the following (on Windows) and then ran a test case which
caused an access violation:
set BOOST_TEST_CATCH_SYSTEM_ERRORS=no
echo %BOOST_TEST_CATCH_SYSTEM_ERRORS
The process still exited normally after printing a stack dump. We also
tried using a command-line option: