2010-12-01 3 views

Répondre

6

Définissez votre shell pour vider le cœur en vous assurant que ulimit -c n'affiche pas une taille de noyau de 0. S'il indique 0, exécutez ulimit -c unlimited. Ensuite, réexécutez votre programme jusqu'à ce qu'il se bloque et vide core, puis appelez:

gdb /path/to/executable /path/to/core et tapez bt pour obtenir le suivi de la pile.

De même, vous devrez compiler votre exécutable avec les informations de débogage activées. Si vous utilisez gcc alors je vous suggère d'utiliser -ggdb3 pour ce faire.

+0

comment puis-je savoir chemin à cœur? – nis

+1

@nis il sera dans le répertoire de travail actuel. – mgiuca

+1

Vous pouvez même modifier le fichier: /etc/sysctl.conf: variable: kernel.core_pattern =/tmp/core (Core File Path) pour définir le fichier core PATH – vrbilgi

Questions connexes