QT_FATAL_ASSERT works with Q_ASSERT.
The following works on my box:
#define QT_FATAL_ASSERT
#include <qapplication.h>
#include <qobject.h>
{
Q_OBJECT
public:
Object(){
startTimer(1000);
}
Q_ASSERT(0);
}
};
int main(int argc, char *argv[]){
Object obj;
app.exec();
}
#include "main.moc"
#define QT_FATAL_ASSERT
#include <qapplication.h>
#include <qobject.h>
class Object : public QObject
{
Q_OBJECT
public:
Object(){
startTimer(1000);
}
void timerEvent(QTimerEvent *event){
Q_ASSERT(0);
}
};
int main(int argc, char *argv[]){
QApplication app(argc, argv);
Object obj;
app.exec();
}
#include "main.moc"
To copy to clipboard, switch view to plain text mode
And so does your app with modifications:
#include <cassert>
#include <qobject.h>
#include <qapplication.h>
#include <iostream>
{
public:
MyObject() { startTimer(100); }
{
std::cout<<"beforeAssert" << std::endl;
assert(0);
std::cout<<"afterAssert";
}
};
int main(int argc, char** argv)
{
MyObject object;
return (app.exec());
}
#include <cassert>
#include <qobject.h>
#include <qapplication.h>
#include <iostream>
class MyObject : public QObject
{
public:
MyObject() { startTimer(100); }
virtual void timerEvent(QTimerEvent* e)
{
std::cout<<"beforeAssert" << std::endl;
assert(0);
std::cout<<"afterAssert";
}
};
int main(int argc, char** argv)
{
QApplication app(argc, argv);
MyObject object;
return (app.exec());
}
To copy to clipboard, switch view to plain text mode
Bookmarks