Process Monitor kann auf einem 64-Bit-Computer nicht gestartet werden

23

Wenn ich versuche, Process Monitor von SysInternals auf einigen 64-Bit-Windows 7-Computern zu starten, kann der Prozess nicht gestartet werden. Es liegt keine Fehlermeldung vor. Ich doppelklicke und nichts passiert. Andere 64-Bit-Windows 7-Computer funktionieren einwandfrei. Irgendwelche Ideen?

Ryan Michela
quelle
Ich habe das gleiche Problem und kann Process Monitor im 32-Bit-Modus mit Befehlszeilenoption ausführen procmon.exe /Run32. In diesem Modus wird das Aufnehmen jedoch nicht unterstützt.
Jirkamat
@ jirkamat Funktioniert hier nicht :(
Zero3

Antworten:

33

Hier ist was ich gefunden habe. Die 32-Bit-Datei Procmon.exe enthält die 64-Bit-Datei als Binärressource. Wenn die 32-Bit-Exe gestartet wird, extrahiert sie die 64-Bit-Version in eine versteckte Datei namens Procmon64.exe und führt diese dann aus. Aus irgendeinem Grund schlägt dieser Prozess bei einigen Windows 7-Installationen fehl.

Ich habe es geschafft, die 64-Bit-Datei mit Visual Studio 2010 zu extrahieren.

  1. Öffnen Sie Visual Studio und öffnen Sie die Datei Procmon.exe über das Menü Datei-> Öffnen-> Datei ...
  2. Erweitern Sie im Ressourcenbaum den Knoten "BINRES"
  3. Klicken Sie mit der rechten Maustaste auf den Knoten 1308 und wählen Sie Exportieren ... aus.
  4. Nennen Sie die exportierte Ressource Procmon-64.exe und speichern Sie sie
  5. Führen Sie die extrahierte Exe aus

Nennen Sie die extrahierte exe Procmon64.exe nicht (kein Bindestrich), da der 32-Bit-Procmon versucht, sie zu löschen, wenn er die Chance dazu hat.

Wenn Sie nicht über Visual Studio verfügen, verwenden Sie einen ausführbaren Windows-Ressourcenextraktor wie ResourcesExtract - http://www.nirsoft.net/utils/resources_extract.html

Ryan Michela
quelle
2
Es ist interessant, dass Sie eine Problemumgehung gefunden haben, aber es würde mich viel mehr interessieren, warum Sie das überhaupt tun müssten.
Zoredache
Ich würde auch gerne die Hauptursache finden, aber das Debuggen eines systemeigenen Prozesses ohne Symbole ist einfach nicht die Mühe wert. Vor allem eines, das als Prozessmonitor in das Betriebssystem integriert ist.
Ryan Michela
Das Extrahieren der 64-Bit-Exe von ProcMon in eine eigenständige EXE-Datei und das Ausführen dieser Exe lösen dieses Problem für mich! ProcMon läuft gut.
Jirkamat
4
Einmal, während ich frustriert immer wieder auf Procmon.exe doppelklickte, sah ich, wie die versteckte Datei Procmon64.exe im Windows-Explorer aufflammte. Dies gab mir den Hinweis, dass die 64-Bit-Version von der 32-Bit-Version extrahiert wurde. Nach dieser Vermutung brach ich die 32-Bit-Datei auf, um ihre Ressourcen zu untersuchen, und fand eine, die um Größenordnungen größer war als die anderen. Ich habe die Ressource extrahiert und als .exe gespeichert. Und siehe da, es war der fehlende 64-Bit-Prozessmonitor.
Ryan Michela
1
Da ich dieses Problem mit vielen Sysinternal-Programmen habe, insbesondere mit allen Programmen, die eine 64-Bit-Version extrahieren (dies geschah plötzlich vor kurzem, kann keine davon ausführen, da das Verzeichnis nicht beschreibbar ist), aber Wenn Sie den Ressourcenextraktor ausführen und in einer der systeminternen Anwendungen auf "Binäre Assets" oder eine andere Option klicken, können Sie grundsätzlich nach Größe sortieren. Die größte Option ist die App.
Benenne
5

Lass mich dich umhauen. procmon.exe ERFORDERT, dass der Arbeitsstationsdienst ausgeführt wird, um zu starten. Es benutzt es, um etwas aufzuzählen und wird ohne es stillschweigend sterben.

Dies ist nirgendwo dokumentiert und ziemlich gefälscht.

Rasz_pl
quelle
1
Ja! Das war's! Diese Antwort muss nach oben gehen.
selbst
Ja, das hat es für mich getan. Für Version 3.10 ist dies nicht erforderlich, für Version 3.20 jedoch. Du hast es geschafft; verblüfft. „Hübscher Schwindel“ zu sagen, ist eine große Untertreibung. Ich habe keine Lust, diesen Dienst zu leiten, daher bin ich sehr enttäuscht von Mark.
Synetech
2

Ich weiß, dass dieser Thread eine Weile her ist, aber ich habe dieses Problem in letzter Zeit gesehen und einen weiteren Faktor bemerkt, der hilfreich sein könnte. Administratorrechte. Wenn ich mich als Administrator anmelde und es ausführe, funktioniert es einwandfrei. Wenn Sie sich als Nicht-Administrator anmelden und ausführen, tritt das Problem auf und der extrahierte Procmon-64 zeigt dasselbe Problem an.

Cloud Guy
quelle
2

Ich kann ProcMon64.exe mit dem nächsten Perl-Skript extrahieren, das im temporären Ordner abgelegt und ausgeführt wird.

use File::Copy;

if(fork()==0)
{ system "C:\\SysInternals\\ProcMon.exe"}
else
{  for($i=1;$i<1000;$i++)
    {if(-e 'ProcMon64.exe')
      { copy('ProcMon64.exe',$i.'.exe')}
    }
}

Nach mehrfacher Ausführung werden Dutzende von Kopien erstellt, die alle gleich sind (der gleiche CRC32).

Dmitry Pi
quelle
0

ospy ist eine ProcMon-Alternative. Sie könnten versuchen, die Fehlerbehebung beim Start von procmon damit durchzuführen.

Justin Dearing
quelle
0

Ich habe dieses Problem behoben, indem ich meine Umgebungsvariablen erneut überprüfte. Sie können überprüfen %TEMP%, ob Sie jemals etwas hinzugefügt haben. Entfernen Sie alle anderen Ordner außer Windows Temp und starten Sie den Computer neu.

user365886
quelle
-2

Ich habe Resource Hacker benutzt. Extrahiere 1038 als bin. füge .exe hinzu und es scheint zu starten.

Erixx Haxx
quelle
Die ausführbare Datei wird im Ressourcenhacker nicht geöffnet ....
Amalgovinus