ローカルポートに接続しようとすると、コンピュータ-> Connect local、 Portmon v。3.02を使用して、エラーメッセージエラー2、小さなエラーダイアログボックス:
管理者としてツールを実行します(そうでない場合、エラー6が表示されます)。
ちなみに、これはWindows 7 x64です。 32ビットでは、Windows 7 x86で正常に動作します。この問題を修正するにはどうすればよいですか?
SysinternalsのPortmonは、32ビットバージョンのWindowsでのみ動作します。 64ビットをサポートしていません(おそらくドライバーは署名されていません)。
Portmonホームページから:
Windowsエクスプローラーで、portmon.exe
を右クリックします-> プロパティを選択-互換性タブをクリックし、Windowsで実行XP互換モード:Windows 7 64ビットの場合と同様に機能します。
「エラー2」は「指定されたファイルが見つかりません」、つまり、必要なDLLファイルが見つかりません。
もともと、ネットワークの場所からPortmonを実行しようとしたときにこのエラーが発生しました。これにより、セキュリティの信頼が破られ、Portmonが信頼されなくなりました(または単に検索パスを何らかの方法で台無しにしました)。
Windows 7 64ビットのコピーでは、Microsoft Dependency Walker (depends.exe)により、PORTMSYS.SYS(Portmon.exeによって作成/ロードされたファイル)、ci.dllに対する未解決の依存関係があることがわかります。 clfs.sys、hal.dll、およびkdcom.dll。
それらは
code integrity
common log file system
hardware abstraction layer
kernel debugger com
ライブラリが存在し、実際に欠落しているわけではありません。ライブラリがある場合、Windowsは起動しません。ただし、SysWow64にはこれらのファイルのコピーは表示されません。これは、問題がportman.sysにないことを示唆しています。問題は、Windows the7/64ビットのwin32互換性レイヤーにあります。デバッグを適切にサポートしていません。
現在は2018です。Portmonの64ビットバージョンはありません。シリアルポートはレガシー標準です。 Windows 7の問題は、Windows 8.1のリリースによって修正されました。ただし、一部のVisual StudioユーティリティまたはWindows 7にバックポートされたセキュリティ更新プログラムで問題が修正される可能性はわずかです。おそらくSysWowとデバッグに精通している人がコメントするでしょう。
Windows x64用のportmonの代わりに、仮想COMポートのペアのエミュレータと、物理ポートと仮想ポートの1つを接続し、ロギング機能を実行する簡単なプログラムを使用できます。
仮想COMポートのペアを作成するには、次を使用できます。
シンプルなマッピングおよびロギングプログラムを見つけることができます。 here または自分で作成することもできますが、簡単です。
アクションのシーケンスは次のとおりです。
AccessPort http://sudt.com/en/ap/download.htm を使用しましたが、うまく機能します。ポートモンに非常に似ている
私はまだ試していませんが、 この質問 は com0com に言及しています。 2つの仮想シリアルポートを作成し、それらの間のヌルモデムケーブルをエミュレートします。 64ビットWindowsで実行できると主張しています。実際のポートから仮想ポートの1つに入力をパイプするだけのソフトウェアが付属しているかどうかはわかりません。 FAQの1つに、ロギングをオンにできると書かれています。
最悪の場合、実際のポートから仮想ポートの1つにデータをパイプしてすべて記録する独自の小さなプログラムを作成できると思います。
オープンソースの代替案に関するこの質問 もあり、いくつかのプロジェクトに言及しています。
ネットワークドライブ/パスなどからPortmonを起動しないでください。
ハードディスクドライブにコピーします。デスクトップで、再起動して再試行してください!
Portmonを互換モードで実行すると、動作します。
チェックこのバージョンのWindowsで古いプログラムを実行する。
それは言います:
プログラム互換性トラブルシューティングツールを実行するには:
- [スタート]ボタン[スタート]ボタンの画像をクリックし、[コントロールパネル]をクリックして、プログラム互換性のトラブルシューティングツールを開きます。検索ボックスに「トラブルシューティング」と入力し、[トラブルシューティング]をクリックします。 [プログラム]で、[以前のバージョンのWindows用に作成されたプログラムを実行する]をクリックします。
- トラブルシューティングの指示に従ってください。
上記は、Windowsで古いアプリケーションを実行しているときの一般的な状況に対するMicrosoftの公開説明です。
しかし、私は簡単に言うことができます。
うまくいくことを願っています!