2016-04-29 16 views
1

Ich habe die folgende Frage: Angenommen, Sie haben eine ausführbare Datei (program.exe), die Sie starten von cmd.exe. So haben wirWinDbg an einen Prozess anhängen

C:> start program.exe 

Ist es möglich, WinDbg an den laufenden Prozess program.exe zu befestigen? Und wenn ja, wie kann ich das erreichen? Ist es möglich ? Hinweis: Wenn ich programm.exe starten lasse, öffnet sich ein anderes Befehlszeilenfenster & schließt sehr schnell. Kann WinDbg es fangen? Ich versuchte es mit dem Immunity Debugger zu fangen, aber keine Chance.

+2

Warum nicht einfach 'program.exe' von WinDbg starten? –

+1

cmd/k windbg programm.exe – blabb

+0

sollte ich diesen Befehl in eine Batchdatei schreiben? – user3097712

Antwort

3

Normalerweise können Sie an einen Prozess in WinDbg mit F6 anhängen oder den Befehlszeilenschalter -pn verwenden. Wenn der Prozess zu schnell beendet wird, gibt es mehrere Optionen:

  1. Führen Sie das Programm unter dem Debugger. Verwenden Sie Ctrl + E und geben Sie den Namen, die Argumente und das Startverzeichnis des Programms ein. Alternativ gibt die ausführbare Datei und Parameter wie die letzten Argumente WinDbg:

    ausführbare

    Gibt die Befehlszeile eines ausführbaren Prozess. Dies wird verwendet, um einen neuen Prozess zu starten und ihn zu debuggen. Dies muss das letzte Element in der Befehlszeile sein. Der gesamte Text nach dem Namen der ausführbaren Datei wird als Argumentstring an die ausführbare Datei übergeben.

  2. Erstellen Sie einen Registrierungsschlüssel Debugger in Image File Execution Options als described on MSDN die Debugger für dieses Programm automatisch gestartet wird, wenn das Programm startet

  3. Wenn das Programm unter Ihrer Kontrolle ist, legen Sie einen DebugBreak() Anruf oder ähnlich (Sleep(), getline()) gleich zu Beginn.

Verwandte Themen