Command line option --debugAssertBreak#1189
Merged
daschuer merged 4 commits intomixxxdj:masterfrom Feb 22, 2017
Merged
Conversation
Member
Author
|
strange win 32 bit test fails: |
Member
Author
|
Clang mac builds fails with: |
Member
Author
|
The clang issue is somehow a relationship issue. The plug-ins depends on header only assert.h. |
Member
Author
|
I think I have got a good solution. The different behavior is now moved to the logging class. |
rryan
reviewed
Feb 21, 2017
| #else | ||
| qWarning("DEBUG ASSERT: \"%s\" in function %s at %s:%d", assertion, function, file, line); | ||
| #endif | ||
| qCritical("DEBUG ASSERT: \"%s\" in function %s at %s:%d", assertion, function, file, line); |
Member
|
Nice -- LGTM other than my one comment. |
Member
Author
|
Thank you for review! |
37 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
If you currently build with MIXXX_DEBUG_ASSERTIONS_FATAL, you cannot continue Mixxx after this.
But it should be not a problem because in a release build it will continue anyway.
The new command line option --debugAssertBreak can be used when Mixxx is started under a debugger. In case of a false debug assert, it just breaks. Without a debugger this is fatal.
Before, this PR I have tried to get this behavior by placing a breakpoint at qWarning inn assert.c but this slows down the debug process a lot, and it leads to false positives because of inlining and optimization.
This new option will also avoid to switch the MIXXX_DEBUG_ASSERTIONS_FATAL flag which leads to a time consuming full rebuild. Now the MIXXX_DEBUG_ASSERTIONS_FATAL is only respected if --debugAssertBreak is not passed.