web-dev-qa-db-ja.com

Systrace for Windows

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

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

78
Bryan
21
Bruno Martinez

いくつかのオプション:

プロセスモニター

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

コアOSツール

37
djhaskin987

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%ですが、大きなデスクトップアプリの起動などの新しいコードを実行するとはるかに高くなります)。

13
Derek Bruening

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

7
Isaiah Norton

これはかなり興味深い記事です。探しているターゲットにヒットするかどうかはわかりませんが、あなたが望む方向にあなたを導く可能性があると思います。

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

5
w33mhz

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好きな場所に置いて使用します。

3
Steven Penny

Xperfを中心に構築されたいくつかのツールがあります。かなり複雑ですが、非常に強力です- クイックスタートガイド を参照してください。 Windows Performance Analysis ページには他の有用なリソースがあります

1
the_mandrill

Mark Russinovichが作成したプロセスモニターを使用できます。これは、システム上で実行中のプロセスにアタッチして、そのプロセスが現在行っているすべてのシステムコールを確認できる、素晴らしい小さなアプリケーションです。

https://technet.Microsoft.com/en-us/sysinternals/processmonitor.aspx

1
Mike

strace でサポート Git 、Michael Fox Mentionとしては、複雑な/ Windowsソフトウェアには役に立たないかもしれません。

0
Zaman