Systrace для Windows


Я ищу эквивалент Windows Systrace или хотя бы strace. Я в курсе StraceNT, но интересно, есть ли еще альтернативы там. В частности, я ищу конкретный способ программного обеспечения политик системных вызовов, хотя это может быть после факта, а не активно останавливать их.

есть хороший способ сделать это в настоящее время?

8 73

8 ответов:

регистратор WinDbg.exe является самым близким к strace: http://msdn.microsoft.com/en-us/library/windows/hardware/ff552060(v=vs.85).aspx

EDIT: есть также вес windbg: http://blogs.msdn.com/b/debuggingtoolbox/archive/2009/10/12/special-command-tracing-applications-using-wt.aspx

вариантов несколько:

Process Monitor

кроме того, см. Эту статью об инструментах, встроенных в Windows 7:

основные инструменты ОС

память доктора (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% в устойчивом состоянии, но гораздо выше при запуске нового кода, такого как запуск большого настольного приложения), которые могут или не могут быть подходящими для ваших целей.

API Monitor выглядит очень полезным для этой цели.

вот довольно интересная статья, я не знаю, попадает ли она в цель, которую вы ищете, но я думаю, что вы можете найти ее, ведущую вас в нужном направлении.

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

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, поэтому вы должны быть в состоянии просто скопировать strace.exe туда, где вы хотите его использовать.

есть несколько инструментов, все построены вокруг Xperf. Это довольно сложный, но очень мощный-увидеть краткое руководство. Есть и другие полезные ресурсы на Анализ Производительности Windows страница

вы можете использовать process monitor, написанный Марком Русиновичем. Это фантастическое небольшое приложение, которое позволит вам подключиться к любому запущенному процессу в системе и увидеть все системные вызовы, которые процесс в настоящее время делает.

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