J'apprends QT sous Windows pendant un peu de temps (arrière-plan in Unix / intégré) et que STDERR / STDOUT est largué quelque part (Test d'unité / journalisation / débogage / débogage) de mon application GUI Win32 QT. Cela semble être une grande commande dans Windows et J'ai trouvé cet article sur Stackoverflow qui explique pourquoi. p>
Je me demande pourquoi Qt n'a pas de mécanisme simple pour effectuer certaines des suggestions de la publication des bâtiments de débogage. P>
Est-ce que une telle installation existe déjà dans Qt ou suis-je parti pour faire rouler la mienne (ou trouver un syslog Lib)? P>
4 Réponses :
Qdebug () et les fonctions associées sont utiles pour ce genre de chose - sera envoyé au débogueur (si vous utilisez QT Creator, cela les choisira facilement!)
#include <QDebug> qDebug() << "x is: " << x;
Vous pouvez toujours démarrer vos programmes à partir de la ligne de commande pour voir la sortie STDOUT (CMD.EXE). En outre, comme le dit Paul Dixon, en utilisant Qdebug (), vous devriez pouvoir voir la sortie dans le débogueur.
#include <QDebug> ... { ... int x = 5; qDebug() << "x is: " << x; }
Un moyen peu coûteux est de simplement rouvrir Stdout / Err (bien au moins en Win32, je suppose que cela fonctionnera aussi avec QT)
#include <stdio> //add this at the beginning of your main freopen("c:\\temp\\stdout.txt","w",stdout); freopen("c:\\temp\\stderr.txt","w",stderr);
Merci pour le pointeur, j'ai ma propre infrastructure de journalisation que j'ai inventée qui ressemble beaucoup à Log4CXX. Je vais devoir regarder de plus près celui-là pour voir si je devrais l'utiliser à la place.
J'ai trouvé un paramètre sous qui aidera les choses envoyées à la cout à être montrées. p> Outils -> Options -> Build & Run -> [x] Fusionner STDERR et STDOUT CODE>. P>.