gdb: Comment puis-je mettre en pause lors de l'exécution de la boucle?

Je suis en train d'écrire un moteur de rendu logiciel dans g++ sous mingw32 dans Windows 7, à l'aide de NetBeans 7 que mon IDE.

J'ai besoin de profil il de la fin, et cette nécessité a atteint la masse critique, maintenant que je suis passé fixant la structure. Je regardai autour de moi, et à moi cette réponse montre la plus prometteuse en étant simultanément de la croix-plate-forme et de garder les choses simples.

L'essentiel de cette approche est que peut-être la plus basique (et à bien des égards, la plus précise) de profil/optimiser est tout simplement de l'échantillon de la pile directement chaque maintenant et puis par l'arrêt de l'exécution... Malheureusement, NetBeans ne pause. Donc j'essaie de trouver comment faire de l'échantillonnage à l'aide de gdb directement.

Je ne sais pas beaucoup au sujet de gdb. Ce que je peux dire de l'homme pages cependant, c'est que vous définissez des points d'arrêt avant l'exécution de votre exécutable. Qui ne m'aide pas.

Personne ne sait d'une simple approche pour l'obtention de gdb (ou d'autres outils gnu), soit:

  1. Exemple de la pile quand j'ai dire (préférable)
  2. Prendre tout un tas d'échantillons à des intervalles aléatoires sur une période donnée

...donner mon dit de configuration?

  • Fixer un point d'arrêt à un certain fichier et une certaine ligne ou à une certaine méthode pour une certaine classe ne sera pas vous aider? unknownroad.com/rtfm/gdbtut/gdbbreak.html
  • Malheureusement pas. Il doit être espacées d'échantillonnage, comme indiqué dans la réponse que j'ai relié à, de manière à avoir l'effet désiré. Si je le fais uniquement dans un endroit dans le code, je ne vois pas où la plupart du temps est passé, je vais seulement voir les endroits où les points d'arrêt s'asseoir.
  • Double Possible de pause gdb sans point d'arrêt
InformationsquelleAutor Engineer | 2012-01-02