web-dev-qa-db-fra.com

Systrace pour Windows

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?

78
Bryan
21
Bruno Martinez

Quelques options:

Moniteur de processus

Consultez également cet article sur les outils intégrés à Windows 7:

Outils de base du système d'exploitation

37
djhaskin987

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.

13
Derek Bruening

API Monitor semble très utile à cette fin.

7
Isaiah Norton

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/

5
w33mhz

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.

3
Steven Penny

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

1
the_mandrill

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

1
Mike

strace pris en charge par Git , comme le mentionne Michael Fox Peut-être inutile pour les logiciels complexes/Windows.

0
Zaman