94

Systraceまたは少なくともstraceに相当する Windows を探しています。私は StraceNTを認識していますが、他に代替手段があるかどうか疑問に思っています。具体的には、システム コール ポリシーをプログラムで強制する特定の方法を探していますが、これは積極的に停止するのではなく、事後的に行うことができます。

現在これを行う良い方法はありますか?

4

9 に答える 9

44

いくつかのオプション:

プロセスモニター

また、Windows 7 に組み込まれているツールについては、次の記事を参照してください。

コア OS ツール

于 2011-08-02T22:56:30.830 に答える
29

WinDbgのLogger.exeはstraceに最も近いものです:https ://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/logger-and-logviewer

編集:windbgのwtもあります:https ://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/wt--trace-and-watch-data-

于 2012-10-12T14:32:51.093 に答える
15

Dr. Memory ( http://drmemory.org ) ツールには、drstrace と呼ばれるシステム コール トレース ツールが付属しており、ターゲット アプリケーションによって行われたすべてのシステム コールとその引数が一覧表示されます: http://drmemory.org/strace_for_windows.html

システム コール ポリシーをプログラムで適用する場合、drstrace と同じ基礎となるエンジン、DynamoRIO ツール プラットフォーム ( http://dynamorio.org ) および DrSyscall システム コール監視ライブラリ ( http://drmemory.org/docs/page_drsyscall. html )。これらは動的なバイナリ変換テクノロジを使用するため、オーバーヘッドが発生します (定常状態では 20% ~ 30%、大きなデスクトップ アプリを起動するなどの新しいコードを実行する場合ははるかに高くなります)。これは、目的に適している場合と適していない場合があります。

于 2014-04-07T13:14:38.243 に答える
13

API Monitorは、この目的に非常に役立ちます。

于 2015-01-21T17:57:16.827 に答える
6

これは非常に興味深い記事です。探しているターゲットに当てはまるかどうかはわかりませんが、希望する方向に導くことができると思います。

http://jbremer.org/intercepting-system-calls-on-x86_64-windows/

于 2013-07-26T13:44:32.787 に答える
3

strace は Cygwin のcygwin パッケージで入手できます。Cygwin mirrorからダウンロードできます。次に例を示します。

http://mirrors.sonic.net/cygwin/x86_64/release/cygwin/cygwin-2.0.2-1.tar.xz
#      |                      |                              |     |
#      +-----------+----------+                              +--+--+
#                  |                                            |
#               mirror                                       version

strace は、Cygwin DLL に依存しない数少ない Cygwin プログラムの 1 つであるため、必要なstrace.exe場所にコピーして使用するだけでよいはずです。

于 2015-06-03T03:14:36.623 に答える
2

Xperf を中心に構築されたツールがいくつかあります。これはかなり複雑ですが、非常に強力です。クイック スタート ガイドを参照してください。Windows パフォーマンス分析ページには、他にも役立つリソースがあります。

于 2011-12-20T09:02:17.757 に答える