Können __FILE__ und __LINE__ verknüpft werden, wenn sie in der Debug-Konsole von Qt Creator gedruckt werden?

8

Kopfzeile:

%Vor%

Implementierung:

%Vor%

Das obige spuckt eine Zeile Debug-Trace aus, die etwa wie

aussieht

ERROR File Missing! (..\trunk\Common\FileManager.cpp:102)

in der Debug-Konsole von Qt Creator.

Ich habe bemerkt, dass Qt eigene Fehlermeldungen, z. B.

Object::connect: No such slot cClass::Method(QString) in ..\trunk\Components\Class.cpp:301

Erstellen Sie etwas, das wie ein Hyperlink um den __FILE__:__LINE__ -Teil der Debug-Zeile aussieht, und verknüpfen Sie ihn mit der Zeile, die das Problem verursacht hat. Kann ich das irgendwie mit meiner eigenen Debug-Ausgabe machen?

Prost, Sam

    
sjwarner 27.10.2011, 13:06
quelle

2 Antworten

7

Laut Qt Creator-Quellcode ( da ), werden die Hyperlinks nur für Zeilen erstellt, die diesen regulären Ausdrücken entsprechen:

%Vor%

Die einfachsten Zeilen, die Sie erstellen können, sehen dann so aus:

%Vor%

Qt Creator scheint sich nicht darum zu kümmern, ob der Pfad nach "file:///" absolut ist oder nicht.

    
alexisdm 27.10.2011, 16:42
quelle
1

Zusätzlich zu alexisdms Antwort (die mir sehr geholfen hat, großer Dank!):

Anstatt ein benutzerdefiniertes Makro zu definieren, würde ich in neueren Versionen von Qt folgendes vorschlagen und qDebug self verwenden:

%Vor%

Der Teil vor \n ist das Standardnachrichtenmuster von Qt, und das Teilen mit \n hat den Vorteil, dass die Protokollmeldungen auch Zeichen wie [ oder ] enthalten können, ohne die Links zu verpfuschen.

Das Nachrichtenmuster kann leicht mit anderen Protokolldetails wie Zeitstempeln, Thread-ID usw. erweitert werden, siehe Dokumentation . Wenn Sie weitere Details hinzufügen, behalten Sie den Link in einer separaten Zeile, um Probleme mit der Analyse von Qt Creator zu vermeiden.

    
FourtyTwo 04.04.2017 07:58
quelle