Need to remove all direct uses of abort(). qFatal should be used instead.
For better debugability we need to remove all direct uses of abort(). qFatal should be used instead. There are about 60 direct uses of abort() which need to be removed. The preceding qDebug needs to be changed into a qFatal.
This will allow to catch all occasions where the application aborts with one single breakpoint, that is, in the proposed message handler: http://musescore.org/en/node/14748
Searching through the code to find debug messages and locate the abort() is not an efficient way to work.
P.S.: instead of calling qFatal, it would perhaps be better to use a pre-processor macro, so we get file and line number; something like:
#define WHERESTR "[file %s, line %d]: "
#define WHEREARG __FILE__, __LINE__
#define FATAL2(...) qFatal ( __VA_ARGS__)
#define FATAL(_fmt, ...) DEBUGPRINT2(WHERESTR _fmt, WHEREARG, __VA_ARGS__)
FATAL ("this count looks bad: %d\n", someCount);
(I copied this from Wikipedia , so I hope it works. If it doesn't, something similar can be made to work.)