2 votes

Comment utiliser stackshot pour déboguer mon application?

On m'a récemment parlé d'un outil utile de débogage sur Mac OS X appelé stackshot, cependant je ne sais pas comment l'invoquer. Selon la documentation, il fonctionne en tant que démon, mais la page de manuel semble également indiquer qu'il peut être invoqué depuis la ligne de commande. Comment puis-je utiliser stackshot pour mon application actuellement en cours d'exécution?

4voto

oefe Points 9122
sudo /usr/libexec/stackshot -i

Stackshot est destiné au débogage de problèmes système (deadlocks, etc.), et non à des applications individuelles ; il crée donc un dump de la pile de l'ensemble du système, et non d'une application unique.

Avec la configuration par défaut, cela créera un stack shot dans /Library/Logs/stackshot.log

2voto

Jay Imerman Points 2793

Apple m'a demandé de produire un Stackshot sur mon appareil iOS. Pour ce faire, quand le problème se produit, maintenez simultanément enfoncé puis relâchez le bouton Home et un bouton de volume.

Ensuite, synchronisez votre appareil avec iTunes.

Après la synchronisation, votre fichier journal stackshot sera stocké sur l'ordinateur. Je ne sais pas où il se trouve sous Windows, mais sur un Mac, il se trouve dans :

~/Library/Logs/CrashReporter/MobileDevice//stacks-yyyy-mm-dd-xxxxxx.log

0voto

einsteinx2 Points 6624

Stackshot ne semble plus être inclus avec OS X, du moins pas dans 10.11. Cependant, vous pouvez toujours prendre un échantillon de votre application en utilisant l'outil /usr/bin/sample.

Ceci est également accessible en utilisant le Moniteur d'activité :

  1. Ouvrez le Moniteur d'activité
  2. Double-cliquez sur votre application
  3. Cliquez sur le bouton Sample dans le coin inférieur gauche

Cela vous permettra de voir ce qui se passe actuellement dans votre application afin que vous puissiez déboguer les problèmes de consommation CPU sans exécuter l'application depuis Xcode.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X