39 Stimmen

Kann Visual Studio so konfiguriert werden, dass es wie WinDBG Kindprozesse debuggt?

Dies ist ähnlich wie diese Frage, aber ich wollte es etwas genauer ausarbeiten. (Ich bin neu hier, falls ich stattdessen eine "bump" Antwort auf die vorherige Frage geben sollte, lassen Sie es mich bitte wissen.)

In WinDBG kann ich den Befehl .childdbg 1 verwenden, um ihm zu sagen, dass er anhalten soll, wenn ein Kindprozess gestartet wird, oder ich kann es mit der Befehlszeilenoption -o starten. Dies ist in einigen Situationen sehr nützlich, daher ist es überraschend, dass (so weit ich sehen kann) Visual Studio dies nicht unterstützt. Es scheint, als sollte es ziemlich einfach sein, die DEBUG_PROCESS_ONLY_THIS_PROCESS-Flagge bei CreateProcess() zu löschen, und VS unterstützt bereits das Debuggen mehrerer Prozesse.

Also, übersehe ich eine Option in Visual Studio, um dies zu aktivieren? Wenn nicht, gibt es einen technischen Grund dafür, warum sie sich entschieden haben, es nicht zu unterstützen?

39voto

Korusef Punkte 591

Es gibt jetzt ein Werkzeug, mit dem Sie an den Kindprozess anhängen können: Einführung des Child Process Debugging Power Tools

Menü für das Debuggen von Kindprozessen

22voto

Shay Erlichmen Punkte 31367

Nicht möglich (AFAIK, und viele andere...) aber es gibt mehrere Workarounds:

  1. Verwenden Sie dieses Makro, es stammt vom Chrome-Team, das mit dem Debuggen vieler Kindprozesse umgehen muss.
  2. Platzieren Sie Ihren Kindprozess unter Image Execution Options, damit sie automatisch in einem Debugger geöffnet werden. Wählen Sie dann die aktuelle aktive Instanz von Visual Studio aus.

1 Stimmen

Die "Verwenden Sie dieses Makro" -Links scheinen defekt zu sein - könnten Sie die Antwort aktualisieren, um das Makro einzuschließen, anstatt darauf zu verlinken?

1 Stimmen

Keiner der Links scheint jetzt auf etwas Nützliches zu verweisen. Genau deshalb sind linkzentrierte Antworten nicht gut.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X