Jassert (in debug build) doesn't stop the application when run outside of development environment?

It seems that jassert() doesn’t do anything, including stop the application (debug build), if I run the executable by traditional means, i.e. not from Visual Studio etc. Letting them do their traditional thing would be useful when sending a build to testers so the application can trigger the assertions if something goes wrong.

Is there a way to activate those jasserts when running the application by simply double clicking its icon?

Those need a running debugger attached to the actual application process in order to pause execution, use breakpoints, etc. For your testers, you would probably use some logging mechanism. JUCE has some classes for that.

Is it possible to log the jassert()'s?

There’s a JUCE_LOG_ASSERTIONS define you can use. Then, in your case, you’ll need to create a juce::FileLogger instance and pass it to juce::Logger::setCurrentLogger (...) to register it.

3 Likes

Thank you! I’ll try that.

1 Like