64ビットコンピューターでプロセスモニターの起動に失敗する


23

一部の64ビットWindows 7マシンでSysInternalsからプロセスモニターを起動しようとすると、プロセスの起動に失敗します。エラーメッセージはありません。ダブルクリックしても何も起こりません。他の64ビットWindows 7コンピューターは正常に動作します。何か案は?


同じ問題があり、コマンドラインオプションを使用してプロセスモニターを32ビットモードで実行できますprocmon.exe /Run32。ただし、このモードでのキャプチャはサポートしていません。
jirkamat

@jirkamatここでは動作しません:(
Zero3

回答:


33

これが私が見つけたものです。32ビットのProcmon.exeには、バイナリリソースとして64ビットのexeが含まれています。32ビットexeが起動すると、64ビットバージョンがProcmon64.exeという隠しファイルに抽出され、実行されます。何らかの理由で、このプロセスは一部のWindows 7インストールで失敗します。

Visual Studio 2010を使用して64ビットexeを抽出することができました。

  1. Visual Studioを開き、File-> Open-> File ...メニューを使用してProcmon.exeファイルを開きます。
  2. リソースツリーで、「BINRES」ノードを展開します
  3. 1308ノードを右クリックして、エクスポート...を選択します。
  4. エクスポートされたリソースにProcmon-64.exeという名前を付けて保存します
  5. 抽出されたexeを実行します

抽出されたexeにProcmon64.exe(ハイフンなし)という名前を付けないでください。32ビットProcmonは、機会があれば削除しようとするからです。

Visual Studioがない場合は、ResourcesExtract- http: //www.nirsoft.net/utils/resources_extract.htmlのようなWindows実行可能リソースエクストラクターを使用します


2
回避策を見つけたのは興味深いことですが、なぜそうする必要があるのでしょうか。
ゾレダチェ

私も根本的な原因を見つけたいのですが、シンボルなしでネイティブプロセスをデバッグするのは努力するだけの価値はありません。特に、Process MonitorとしてOSに統合されているもの。
ライアンミケーラ

ProcMonの64ビットexeをスタンドアロンEXEに抽出してこのexeを実行すると、この問題は解決します!ProcMonは正常に動作しています。
ジルカマット

4
フラストレーションで何度も何度もProcmon.exeをダブルクリックすると、Windowsエクスプローラーで非表示のProcmon64.exeがフラッシュするのを目にしました。これにより、64ビットバージョンが32ビットバージョンによって抽出されていたことがわかりました。この予知に続いて、32ビットexeをクラックしてリソースを調べ、他のものよりも桁違いに大きいものを見つけました。リソースを抽出し、.exeとして保存しました。見よ、それは行方不明の64ビットプロセスモニターでした。
ライアンミケーラ

1
多くのSysinternalのプログラム、特に64ビットバージョンを抽出するすべてのプログラムでこの問題が発生しているため(これは突然発生したもので、いずれも実行できないため、ディレクトリが書き込み可能ではないと表示されます)、リソースエクストラクターを実行し、「バイナリアセット」またはsysinternalのアプリケーションのいずれかをクリックすると、基本的にサイズで並べ替えることができ、最大のものはアプリになります。exeという名前に変更して、すぐに外します〜
mgrandi 14年

5

私はあなたの心を爆破させてください。procmon.exeを開始するには、実行中のワークステーションサービスが必要です。それを使用して何かを列挙し、それなしで静かに死にます。

これはどこにも文書化されておらず、かなり偽物です。


1
はい!これでした!この答えはトップに行く必要があります。
彼自身

うん、それは私のためにそれをしました。バージョン3.10では必要ありませんが、バージョン3.20では必要です。あなたは成功しました。心が吹き飛ばされた。「かなりの偽物」と言うのは、控えめな表現です。私はそのサービスを実行したくないので、マークに非常に失望しています。
Synetech

2

私はこのスレッドがしばらく前であることを知っていますが、最近この問題を見たばかりで、役に立つかもしれない別の要因に気付きました。管理者権限。管理者としてログインして実行すると、正常に機能します。非管理者としてログインして実行すると、問題が発生し、抽出されたprocmon-64に同じ問題が表示されます。


2

次のPerlスクリプトを一時フォルダーに配置して実行し、ProcMon64.exeを抽出することに成功しました。

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')}
    }
}

複数回実行した後、すべてが同じ数十個のコープを作成します(同じCRC32)。



0

環境変数を再確認して、この問題を修正しました。%TEMP%以前に何かを追加したことがあるかどうかを確認できます。Windows temp以外のフォルダーをすべて削除し、再起動します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.