J'utilise Microsoft Visual Studio pour faire C++. Je ne vois pas std :: err et std :: out dans la console de sortie de l'IDE. Existe-t-il un moyen de les rediriger?Rediriger stdout et stderr vers la console de débogage de sortie de Microsoft Visual Studio
Répondre
Vous pouvez en effet rediriger std :: out et std :: err. Faites simplement un clic droit sur votre projet dans l'explorateur de solution et sélectionnez Properties
. Ensuite, sélectionnez Configuration Properties -> Debugging
et placez les arguments appropriés dans le champ Command Arguments
. Par exemple, pour rediriger std :: err vers un fichier, je tape 2> ErrorLog.txt
. Les éléments que vous tapez Command Arguments
sont simplement ajoutés en tant qu'arguments de ligne de commande lorsque Visual Studio exécute votre programme, comme vous les avez saisis manuellement dans la console. Ainsi, l'exemple ci-dessus indique simplement à VisualStudio d'exécuter votre programme avec la commande <programName>.exe 2> ErrorLog.txt
au lieu de seulement <programName>.exe
.
Je sais que c'est un vieux fil mais je ne peux pas m'empêcher de donner la réponse puisque je ne peux pas croire qu'il n'y a toujours aucune vraie réponse. Ce que vous pouvez faire est de rediriger le cout vers un ostringstream de votre choix. Pour ce faire, dériver une nouvelle classe de streambuf qui envoie le flux à OutputDebugString (Appelons cette classe OutputDebugStream) et créer une instance de la classe, MyStream. Appelez dès maintenant
cout.rdbuf(&myStream)
J'utilisé Cout pour un exemple. Cette même technique peut être utilisée avec cerr, il suffit d'appeler
cerr.rdbuf(&myStream).
Stdout est un peu plus difficile si vous n'utilisez pas Cout. Vous pouvez rediriger stdout pendant l'exécution en utilisant freopen()
, mais il doit s'agir d'un fichier. Pour que cela redirige vers l'écran de débogage est un peu plus difficile. Une façon est d'utiliser fmemopen()
s'il est disponible (ce n'est pas standard) et d'écrire un streambuf pour afficher ces données dans l'écran Déboguer. Vous pouvez également rediriger vers un fichier et écrire un flux à ouvrir en entrée et rediriger vers le flux de débogage. Un peu plus de travail, mais je pense que c'est possible.
J'utilise la macro suivante pour la sortie de la console de Visual Studio
#ifdef _MSC_VER
#include <Windows.h>
#include <iostream>
#include <sstream>
#include <opencv/cxcore.h>
#define DBOUT(s) \
{ \
std::wostringstream os_; \
os_ << s; \
OutputDebugStringW(os_.str().c_str()); \
}
#else
#define DBOUT(s) \
{ \
std::cout << s; \
}
#endif
Maintenant, si je ne pouvais le faire fonctionner dans un noyau cuda ?!
- 1. iPhone SDK: Rediriger stderr/stdout vers la console XCode
- 2. Redirection de la sortie de stdout et de stderr?
- 3. Comment rediriger STDOUT et STDERR vers une variable
- 4. Rediriger stdout vers la fenêtre de sortie de Visual Studio à partir d'une DLL C++ native
- 5. rediriger la console vers la fenêtre de sortie Visual Studio Debug dans app.config
- 6. Comment rediriger stdout et stderr et conserver la commande?
- 7. Comment rediriger la sortie stdout et stderr d'un script Perl vers un fichier sous Windows?
- 8. Rediriger Stdin et Stdout vers le fichier
- 9. Rediriger stdout et stderr de fichier dans Django avec wsgi
- 10. Rediriger la sortie Trace vers la console
- 11. Comment rediriger la sortie lors du débogage dans Visual Studio?
- 12. La redirection stderr et stdout Bash échoue
- 13. Utilisation de fichiers DOS/CMD/Batch comment pouvez-vous afficher la sortie de la console et rediriger les flux STDOUT et STDERR vers des fichiers?
- 14. Trouvez la stdout actuelle ou comment rediriger la sortie vers la console
- 15. Comment rediriger la sortie vers stderr dans groovy?
- 16. Comment rediriger stdout/stderr dans .NET?
- 17. Vérifier stdout ou stderr
- 18. ABAP Stdout et Stderr
- 19. stdout et anomalies stderr
- 20. Filtres vim et stdout/stderr
- 21. Sortie de la console vers la chaîne
- 22. sortie de console mystérieuse à stderr de la jetée?
- 23. Rediriger la sortie d'erreur CGI de STDERR vers un fichier (python ET perl)
- 24. Rediriger la sortie vers plusieurs fichiers et stdout simultanément dans la ligne de commande win XP
- 25. Bat rediriger stderr à stdout a un comportement étrange
- 26. Comment rediriger une sortie de console Python vers un QTextBox
- 27. Rediriger entrée de la console et la sortie vers une zone de texte
- 28. stderr à stdout
- 29. rediriger stdout vers une question de fichier?
- 30. (Eclipse RCP) Comment rediriger la sortie vers Console View?
Désolé mon but était de rediriger les std :: out et std :: err à la fenêtre de sortie de Visual Studio, pas à un fichier. Merci quand même – Arthur
@jules Pas de problème. Mais, le titre de la question est tel que les gens qui cherchent simplement à rediriger la production pourraient finir ici aussi, donc je me suis dit que ça valait la peine de poster cette réponse aussi. – Brandon
@Brandon Est-ce '> 2' ou' 2> '? – allonhadaya