Wie auf Mac OSX 10.6 erfolgreich debuggen?

Alles rund um die Programmierung mit Qt
Antworten
mkae
Beiträge: 5
Registriert: 26. Juni 2011 00:28

Wie auf Mac OSX 10.6 erfolgreich debuggen?

Beitrag von mkae »

Ist es einem Leser dieses Forums schon mal gelungen, auf Mac OSX 10.6 QT 4.7.3 in der Debug-Version zum Laufen zu bringen?

Ich habe alles mit MacPorts installiert, allerdings kann Xcode/gdb meine QT-Programme nicht debuggen. Sie stürzen schlichtweg gleich zu Beginn ab.
grog
Beiträge: 63
Registriert: 14. November 2009 21:33

Re: Wie auf Mac OSX 10.6 erfolgreich debuggen?

Beitrag von grog »

Welcher gdb ist das, der von Apple (6.3.50.irgendwas) oder der "offizielle" FSF (7.x)? Der FSF gdb crasht bekanntermassen (http://sourceware.org/bugzilla/show_bug.cgi?id=11488)
mkae
Beiträge: 5
Registriert: 26. Juni 2011 00:28

Beitrag von mkae »

Der FSF-gdb crasht. Klar. Ich nutze ihn nicht.

Aber auch mit dem Apple-gdb

Code: Alles auswählen

GNU gdb 6.3.50-20050815 (Apple version gdb-1515) (Sat Jan 15 08:33:48 UTC 2011)
komme ich nicht weiter.

Hier ist eine Beschreibung dessen was passiert, wenn man zu debuggen versucht: http://developer.qt.nokia.com/forums/viewthread/6748
grog
Beiträge: 63
Registriert: 14. November 2009 21:33

Beitrag von grog »

Na, das hat aber nichts mit dem Debugger zu tun:

Code: Alles auswählen

QWidget: Must construct a QApplication before a QPaintDevice
Program received signal:  “SIGABRT”.
Das ist ein Fehler in dem debuggten Programm. Irgendwas wird dort mit einem QPainter oder QPixmap o.ae. gemacht, bevor der QApplication-Konstruktor laeuft. Koennte zum Beispiel irgenein globales Objekt sein, das konstruiert wird, bevor main() startet.
mkae
Beiträge: 5
Registriert: 26. Juni 2011 00:28

Beitrag von mkae »

Ok. Stimmt.

Ich hätte meine Frage da wohl etwas anders formulieren müssen.

Das Programm hat keinen Fehler. Es liegt wohl irgendwie daran, WIE das Programm auf die Debug-Libraries zugreift, oder diese beim Bauen eingelinkt werden...

Der Code des Test-Programmes findet sich unter https://bitbucket.org/mkae/kde-tests/get/tip.zip
grog
Beiträge: 63
Registriert: 14. November 2009 21:33

Beitrag von grog »

Wenn da ein QWidget oder ein QPixmap konstruiert wird, bevor die QApplication steht, ist das aber ein Fehler im Programm. Das der Fehler, den Du bekommst, aus einem anderen Grund kommt, kann ich mir nur sehr schwer vorstellen. Setz doch einfach einen Breakpoint auf die Stelle, an der die Warnung ausgegeben wird, und schau, an welcher Stelle das Programm dran steht.
mkae
Beiträge: 5
Registriert: 26. Juni 2011 00:28

Beitrag von mkae »

Es kann kein Problem meines Codes sein, da die Release-Version den Crash nicht zeigt.
Eigentlich möchte ich einen ganz anderen Bug untersuchen. Aus diesem Grund baue ich darum die Debug-Version.
Diese Debug-Version jedoch kann ich gar nicht erst starten, sobald diese die QT-Debug-Libraries verwenden.

Andere Poster auf QT-dev meinten, dass Libraries der Debug- und Release-Versionen gemischt würden und somit das Problem hervorrufen.

Die Frage ist nun, was ich tun muss, um den obigen Source-Code (KDE-Tutorial #2) überhaupt debuggen zu können.

Die Verwendung von

Code: Alles auswählen

DYLD_IMAGE_SUFFIX=_debug
allein forciert den Crash. Ohne diese Environment-Variable jedoch werden die Release-Libraries verwendet und Debugging ist ganz und gar nicht möglich.
grog
Beiträge: 63
Registriert: 14. November 2009 21:33

Beitrag von grog »

[quote="mkae"]Es kann kein Problem meines Codes sein, da die Release-Version den Crash nicht zeigt.[quote]

Naja, dann brauchen wir ja nicht weiter diskutieren ;-)

[quote="mkae"]
Andere Poster auf QT-dev meinten, dass Libraries der Debug- und Release-Versionen gemischt würden und somit das Problem hervorrufen.
[quote]

Das ist ein Problem unter Windows, und nur da.

[quote="mkae"]
Die Frage ist nun, was ich tun muss, um den obigen Source-Code (KDE-Tutorial #2) überhaupt debuggen zu können.
[quote]

Ich glaube nicht, dass es allzuviele Leute gibt, die KDE-Programme auf Mac kompilieren wollen. Nach Befragung von Google wuerde ich https://mail.kde.org/mailman/listinfo/kde-mac versuchen.
mkae
Beiträge: 5
Registriert: 26. Juni 2011 00:28

Beitrag von mkae »

Danke Grog,

vielleicht ist's wirklich der beste Weg, der betreffenden ML beizutreten. :-)
Antworten