Estoy buscando un equivalente de Windows de Systrace o al menos strace . Soy consciente de StraceNT , pero me pregunto si hay más alternativas por ahí. Específicamente, estoy buscando una forma específica de aplicar mediante programación las políticas de llamadas al sistema, aunque esto puede ser después del hecho en lugar de detenerlas activamente.
¿Existe una buena forma de hacer esto actualmente?
Respuestas:
Logger.exe de WinDbg es el más cercano a strace: http://msdn.microsoft.com/en-us/library/windows/hardware/ff552060(v=vs.85).aspx
EDITAR: También está el peso de windbg: http://blogs.msdn.com/b/debuggingtoolbox/archive/2009/10/12/special-command-tracing-applications-using-wt.aspx
fuente
Algunas opciones:
Monitor de proceso
Además, consulte este artículo sobre herramientas integradas en Windows 7:
Herramientas básicas del sistema operativo
fuente
La herramienta Dr. Memory ( http://drmemory.org ) viene con una herramienta de seguimiento de llamadas al sistema llamada drstrace que enumera todas las llamadas al sistema realizadas por una aplicación de destino junto con sus argumentos: http://drmemory.org/strace_for_windows.html
Para aplicar políticas de llamadas al sistema mediante programación, puede utilizar los mismos motores subyacentes que drstrace: la plataforma de herramientas DynamoRIO ( http://dynamorio.org ) y la biblioteca de supervisión de llamadas del sistema DrSyscall ( http://drmemory.org/docs/page_drsyscall. html ). Estos utilizan tecnología de traducción binaria dinámica, que incurre en algunos gastos generales (20% -30% en estado estable, pero mucho más alto cuando se ejecuta un código nuevo, como el inicio de una gran aplicación de escritorio), que puede o no ser adecuado para sus propósitos.
fuente
API Monitor parece muy útil para este propósito.
fuente
Aquí hay un artículo bastante interesante, no sé si alcanza el objetivo que está buscando, pero creo que puede encontrarlo que lo lleve en la dirección que desea.
http://jbremer.org/intercepting-system-calls-on-x86_64-windows/
fuente
strace está disponible en Cygwin en el paquete cygwin . Puede descargarlo desde un espejo Cygwin , por ejemplo:
http://mirrors.sonic.net/cygwin/x86_64/release/cygwin/cygwin-2.0.2-1.tar.xz # | | | | # +-----------+----------+ +--+--+ # | | # mirror version
strace es uno de los pocos programas de Cygwin que no se basa en la DLL de Cygwin, por lo que debería poder copiar
strace.exe
donde desee y usarlo.fuente
strace notepad
. Inicia el bloc de notas, pero no captura ninguna llamada al sistema.Hay varias herramientas construidas alrededor de Xperf. Es bastante complejo pero muy poderoso; consulte la guía de inicio rápido . Hay otros recursos útiles en la página de Análisis de rendimiento de Windows
fuente
strace compatible con Git , como menciona Michael Fox. Quizás no sea útil para software complejo / windows.
fuente
Puede utilizar el monitor de proceso escrito por Mark Russinovich. Esta es una pequeña aplicación fantástica que le permitirá conectarse a cualquier proceso en ejecución en el sistema y ver todas las llamadas al sistema que ese proceso está realizando actualmente.
https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx
fuente