SegFault bei aufruf von exec()

Alles rund um die Programmierung mit Qt
Antworten
c_m
Beiträge: 15
Registriert: 9. Juni 2006 23:13
Kontaktdaten:

SegFault bei aufruf von exec()

Beitrag von c_m »

Hallo Zusammen,

ich bin grad ein wenig am Basteln und wollte Folgendes machen:

Ein singelton Pattern, der von QApplication abgeleitet ist.

Leider Patzt mein Quelltext beim Aufruf von exec(): es gibt nen Segmentation Fault.

hier mal ein paar Infos:
main.cpp

Code: Alles auswählen

int main ( int argc, char** args )
{
		Controller* ctrl;
		ctrl = Controller::getInstance( argc, args );

	return ctrl->exec();
}
Controller.h

Code: Alles auswählen

class Controller: public QApplication {

Q_OBJECT

    public:
        static Controller* getInstance( int argc, char** args );

    private:
        bool mode;
        MainWindow* myWindow;

        Controller( int argc, char** args );
				~Controller( );
        void connectSlots();

    private slots:
        void SwitchMode();
        void Calculate();
        void ShowAbout();
};
Controller::getInstance()

Code: Alles auswählen

Controller* Controller::getInstance ( int argc, char** args ) {
	static Controller theOneAndOnly(argc, args);
	return &theOneAndOnly;
}
Und hier noch der gdb Auszug:

Code: Alles auswählen

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1222642000 (LWP 19399)]
0xb7500cfd in QString::fromLocal8Bit () from /usr/lib/qt4/libQtCore.so.4
(gdb) next
Single stepping until exit from function _ZN7QString13fromLocal8BitEPKci,
which has no line number information.
Per Debugoutput hab ich rausfinden können, dass wirklich alles glatt läuft, solange bis ich exec() aufrufe... Woher kann das kommen? Meine Letzte Idee wäre, dass ich die startparameter (int argc, char** args) bis zum Controller-Konstruktor durchschleife und dabei was schief geht?!

Habt ihr irgendwelche Ideen?

PS: Das ganze läuft unter Linux 2.6.20 ... bzw eben nicht. Unter Windows XP gehts komischerweise zickenfrei.

Gruß
c_m
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Von QApplication abzuleiten ist imho eine schlechte Idee. -> http://doc.trolltech.com/4.2/qapplication#details
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
c_m
Beiträge: 15
Registriert: 9. Juni 2006 23:13
Kontaktdaten:

Beitrag von c_m »

hm, ich hab sowas befürchtet... Aber nachdem da steht, das es selbst nen SIngelton bildet leuchtets ein...
Antworten