Je recherche un équivalent Windows de Systrace ou du moins strace . Je connais StraceNT , mais je me demande s'il existe d'autres alternatives. Plus précisément, je recherche un moyen spécifique d'appliquer par programme les stratégies d'appel système, bien que cela puisse être après le fait plutôt que de les arrêter activement.
Existe-t-il actuellement un bon moyen de le faire?
Réponses:
Logger.exe de WinDbg 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 wt de windbg: http://blogs.msdn.com/b/debuggingtoolbox/archive/2009/10/12/special-command-tracing-applications-using-wt.aspx
la source
Quelques options:
Moniteur de processus
Consultez également cet article sur les outils intégrés à Windows 7:
Outils du système d'exploitation de base
la source
L' outil Dr. Memory ( http://drmemory.org ) est livré avec un outil de suivi des appels système appelé drstrace qui répertorie tous les appels système effectués par une application cible avec leurs arguments: http://drmemory.org/strace_for_windows.html
Pour appliquer par programme les stratégies d'appel système, vous pouvez utiliser les mêmes moteurs sous-jacents que drstrace: la plateforme d'outils DynamoRIO ( http://dynamorio.org ) et la bibliothèque de surveillance des appels système DrSyscall ( http://drmemory.org/docs/page_drsyscall. html ). Celles-ci utilisent une technologie de traduction binaire dynamique, qui entraîne des frais généraux (20% à 30% en régime permanent, mais beaucoup plus élevée lors de l'exécution d'un nouveau code, comme le lancement d'une grande application de bureau), qui peut ou non convenir à vos besoins.
la source
API Monitor semble très utile à cet effet.
la source
Voici un article assez intéressant, je ne sais pas s'il atteint la cible que vous recherchez mais je pense que vous le trouverez peut-être vous conduire dans la direction que vous souhaitez.
http://jbremer.org/intercepting-system-calls-on-x86_64-windows/
la source
strace est disponible auprès de Cygwin dans le package 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
là où vous le souhaitez et l'utiliser.la source
strace notepad
. Il lance le bloc-notes, mais ne capture aucun appel système.Il existe plusieurs outils tous construits autour de Xperf. C'est plutôt complexe mais très puissant - voir le guide de démarrage rapide . Il existe d'autres ressources utiles sur la page Analyse des performances de Windows
la source
strace supporté par Git , comme Michael Fox Mention Peut-être pas utile pour les logiciels complexes / windows.
la source
Vous pouvez utiliser le moniteur de processus écrit par Mark Russinovich. C'est une fantastique petite application qui vous permettra de vous connecter à n'importe quel processus en cours d'exécution sur le système et de voir tous les appels système que ce processus effectue actuellement.
https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx
la source