Je cherche un équivalent Windows de Systrace ou au moins strace . Je suis au courant de StraceNT , mais je me demande s’il existe d’autres solutions. Plus précisément, je recherche un moyen spécifique d’appliquer par programme des stratégies d’appel système, bien que cela puisse se faire après coup plutôt que de les arrêter activement.
Y at-il un bon moyen de faire cela actuellement?
WinDbg Logger.exe est le plus proche de strace: http://msdn.Microsoft.com/en-us/library/windows/hardware/ff552060 (v = vs.85) .aspx
EDIT: Il y a aussi le poids de windbg: http://blogs.msdn.com/b/debuggingtoolbox/archive/2009/10/12/special-command-tracing-applications-using-wt.aspx
Quelques options:
Consultez également cet article sur les outils intégrés à Windows 7:
L'outil Dr. Memory ( http://drmemory.org ) est fourni avec un outil de suivi des appels système appelé drstrace, qui répertorie tous les appels système passés par une application cible avec leurs arguments: http : //drmemory.org/strace_for_windows.html
Pour appliquer des stratégies d’appel système par programme, vous pouvez utiliser les mêmes moteurs sous-jacents que drstrace: la plate-forme d’outil DynamoRIO ( http://dynamorio.org ) et la bibliothèque de surveillance des appels système DrSyscall ( http : //drmemory.org/docs/page_drsyscall.html ). Ceux-ci utilisent la technologie de traduction binaire dynamique, qui génère des frais généraux (20% à 30% à l'état stable, mais beaucoup plus élevé lors de l'exécution de nouveau code, tel que le lancement d'une grosse application de bureau), qui peut ne pas convenir à vos besoins.
API Monitor semble très utile à cette fin.
Voici un article assez intéressant, je ne sais pas s'il atteint la cible que vous recherchez, mais je pense que vous pourrez le trouver dans la direction que vous souhaitez.
http://jbremer.org/intercepting-system-calls-on-x86_64-windows/
strace est disponible auprès de Cygwin dans paquet cygwin . Vous pouvez le télécharger depuis un miroir Cygwin , par exemple:
http://mirrors.sonic.net/cygwin/x86_64/release/cygwin/cygwin-2.0.2-1.tar.xz
# | | | |
# +-----------+----------+ +--+--+
# | |
# mirror version
strace est l’un des rares programmes Cygwin qui ne repose pas sur la DLL Cygwin. Vous devriez donc pouvoir simplement copier strace.exe
où vous voulez et utilisez-le.
Il existe plusieurs outils construits autour de Xperf. C'est assez complexe mais très puissant - voir le guide de démarrage rapide . Il existe d'autres ressources utiles sur la page Windows Performance Analysis
Vous pouvez utiliser le moniteur de processus écrit par Mark Russinovich. C'est une petite application fantastique qui vous permettra de vous connecter à tout processus en cours sur le système et de voir tous les appels système effectués par ce processus.
https://technet.Microsoft.com/en-us/sysinternals/processmonitor.aspx