Frage
Ich bin auf der Suche nach einem Windows-Äquivalent von Systrace oder zumindest strace . Ich bin mir bewusst über StraceNT , aber frage mich, ob es noch weitere Alternativen da draußen sind. Genauer gesagt, ich suche für eine bestimmte Art und Weise programmatisch Systemaufruf Richtlinien durchzusetzen, obwohl dies eher nach der Tat sein kann, als sie aktiv zu stoppen.
Gibt es eine gute Möglichkeit, dies zur Zeit zu tun?
Lösung
WinDbg der Logger.exe ist in der Nähe von strace: http://msdn.microsoft.com/en-us/library/windows/hardware/ff552060 (v = VS.85) aspx
EDIT: Es auch ist Windbg des wt: http://blogs.msdn.com/b/debuggingtoolbox/archive/2009/10/12/special-command-tracing-applications-using-wt.aspx
Andere Tipps
Einige Optionen:
Siehe auch diesen Artikel über Tools in Windows integriert 7:
Der Dr.-Speicher ( http://drmemory.org ) Werkzeug kommt mit einem Systemaufruf Tracing-Tool namens drstrace dass listet alle System durch eine Zielanwendung zusammen mit ihren Argumenten Anrufe: http://drmemory.org/strace_for_windows.html
Für Systemaufruf Politik programmatisch Durchsetzung, könnten Sie die gleichen zugrunde liegenden Motoren wie drstrace verwenden: die DynamoRIO Werkzeugplattform ( http: // dynamorio. org ) und der Systemaufruf DrSyscall Überwachungs Bibliothek ( http://drmemory.org/docs/page_drsyscall .html ). Diese verwenden dynamische binäre Übersetzungstechnologie, die tut incur gewissen Overhead (20% -30% im stationären Zustand, aber viel höher, wenn neuen Code ausgeführt werden wie eine große Desktop-Anwendung startet), die möglicherweise oder möglicherweise nicht für Ihre Zwecke geeignet sind.
API-Monitor sieht sehr nützlich für diesen Zweck.
Hier ist ein ziemlich wenig Interessanter Artikel, ich weiß nicht, ob es das Ziel trifft, die Sie suchen, aber ich glaube, Sie finden es vielleicht führt Sie in der gewünschten Richtung.
http://jbremer.org/intercepting-system-calls-on -x86_64-windows /
strace ist von Cygwin in dem Cygwin Paket zur Verfügung. Sie können es herunterladen von einem Cygwin Spiegel , zum Beispiel:
http://mirrors.sonic.net/cygwin/x86_64/release/cygwin/cygwin-2.0.2-1.tar.xz
# | | | |
# +-----------+----------+ +--+--+
# | |
# mirror version
strace ist eines der wenigen Cygwin-Programme, die auf der Cygwin DLL nicht verlassen,
so sollten Sie in der Lage sein, einfach kopieren strace.exe
, wo Sie wollen und verwenden.
Es gibt mehrere Werkzeuge, um alle gebaut um Xperf. Es ist ziemlich komplex, aber sehr mächtig - finden Sie in der Schnellstartanleitung . Es gibt andere nützliche Ressourcen auf der Windows-Performance-Analyse Seite
Sie können die Prozessmonitor verwenden von Mark Russinovich geschrieben. Dies ist eine fantastische kleine Anwendung, die Sie zu jedem laufenden Prozess auf dem System und sehen Sie alle Systemaufrufe befestigen ermöglicht dieser Prozess wird zur Zeit zu machen.
https://technet.microsoft.com/en-us/sysinternals /processmonitor.aspx