Façons court : (mon programme est lancer via gdb, il crash, je ne sais pas comment obtenir le rapport en plus du relancement au tomatique)
Façons longue :
Alors voilà, j’ai un programme à faire tourner, il crash souvent, et est lancer via un petit bash qui le restart automatiquement.
Seulement, je le lance régulièrement avec gdb pour avoir des rapport de crash afin de régler les soucis au fur et à mesure. Mon soucis ce situe sur le fait que je ne c’est pas comment faire pour avoir un rapport de crash gdb (commande “bt” une fois l’appli crasher) tout en redémarrant l’application.
Chers Debianneurs, je requiert votre aide ! Merci par avance !
Lorsque ton programme plante avec gdb, tu peux taper «up» pour remonter l’appel des fonctions.
Tu peux aussi afficher des variables avec «print variable».
Il faut bien que ton programme soit compilé avec l’option de debug et sans optimisation de préférence «-O0 -g3».
Il serait peut être plus judicieux de lancer ton programme avec valgrind qui te donnera un rapport détaillé sur les mauvaises utilisations des variables et des tableaux.
Pour avoir le maximum d’infos avec gdb, tu peut mettre -ggdb3.
Sinon tu peut activer les coredump, faire en sorte que ton script shell ne garde que le dernier (ou les X derniers) core et faire une analyse post-mortem via gdb.
Si j’ai bien compris, tu veux lancer gdb en batch en répétant une même série d’actions à chaque plantage. Utilise l’option --batch de gdb, elle est faite pour ça.
Genre:
#!/bin/bash
while /bin/true; do
gdb -batch -n -x Fichier_de_commandes programme argument >> /tmp/log
done (Le -n évite un éventuel fichier init de gdb)
[quote=“fran.b”]Si j’ai bien compris, tu veux lancer gdb en batch en répétant une même série d’actions à chaque plantage. Utilise l’option --batch de gdb, elle est faite pour ça.
Genre:
#!/bin/bash
while /bin/true; do
gdb -batch -n -x Fichier_de_commandes programme argument >> /tmp/log
done (Le -n évite un éventuel fichier init de gdb)[/quote]
Sa m’a l’air sympathique, je vais essayer d’utiliser ça
Edit: Je sais pas comment l’utiliser … J’ai mis mon bash deden, ou même le programme,
En fait ça marche, c’est juste l’affichage console du programme qui flood absolument tout le log. Au lieux d’avoir juste le gdb j’ai gdb + le programme qui me fais 1 000 lignes de log !
[quote=« Belarrius »]/home/server/mega/bin/fichierBatch:3: Error in sourced command file:
Undefined command: "exit". Try "help".[/quote][quote=« MisterFreez »]Vire le exit du batch il sert à rien.[/quote]
En fait la bonne commande c’est quit pas exit. Après, j’ai pas l’habitude de gdb en batch donc effectivement si c’est pas utile, pourquoi se faire chier ?