Meine Konsolenanwendungen in Visual Studio werden automatisch geschlossen, sobald das Programm die Ausführung beendet hat. Ich möchte die Anwendungen am Ende ihrer Ausführung "anhalten", damit ich die Ausgabe leicht überprüfen kann. Wie kann ich das erreichen?
Antworten
Zu viele Anzeigen?Die genannten Lösungen ändern die Funktionsweise Ihres Programms.
Sie können natürlich auch #if DEBUG
y #endif
um die Konsolenaufrufe herum, aber wenn Sie wirklich verhindern wollen, dass das Fenster nur auf Ihrem Entwicklungscomputer unter Visual Studio geschlossen wird oder wenn VS nur dann nicht läuft, wenn Sie es explizit konfigurieren, und Sie wollen nicht, dass das lästige 'Press any key to exit...'
von der Kommandozeile aus auszuführen, ist es am besten, die Option System.Diagnostics.Debugger
APIs.
Wenn Sie wollen, dass das nur in DEBUG
verpacken Sie diesen Code einfach in eine [Conditional("DEBUG")] void BreakConditional()
Methode.
// Test some configuration option or another
bool launch;
var env = Environment.GetEnvironmentVariable("LAUNCH_DEBUGGER_IF_NOT_ATTACHED");
if (!bool.TryParse(env, out launch))
launch = false;
// Break either if a debugger is already attached, or if configured to launch
if (launch || Debugger.IsAttached) {
if (Debugger.IsAttached || Debugger.Launch())
Debugger.Break();
}
Das funktioniert auch, um Programme zu debuggen, die erhöhte Rechte benötigen oder die sich selbst erhöhen können müssen.
- See previous answers
- Weitere Antworten anzeigen