2009-09-02 8 views
15

Je suis à la recherche d'un manipulateur d'accident multiplateforme. Google Breakpad semble prometteur, mais il manque cruellement de documentation, et nécessite une bonne dose de violon pour commencer.Chargeur d'accident multiplate-forme

Quelle est une meilleure alternative? Tout ce dont j'ai besoin, c'est la possibilité d'enregistrer de manière fiable les vidages sur incident, les traces de pile et les informations de l'UC au moment d'un plantage. Sinon, quelle est l'expérience d'utilisation de Google Breakpad? Est-ce que c'était génial ou horrible?

+0

Comment la plate-forme croisée devrait-elle être? gdb + coredump fonctionne bien sur x86, arm, ppc, ... mais a besoin de la chaîne d'outils gcc. – stefaanv

Répondre

7

Eh bien, il s'avère que google-breakpad est plutôt sympa. Ce n'est pas facile à configurer, mais c'est OK pour ce dont j'ai besoin.

+0

Salut, je n'arrive pas à comprendre comment le construire. Toute aide serait appréciée - http://stackoverflow.com/questions/2925094/how-to-build-google-breakpad – Steve

+0

La documentation n'est pas géniale, je l'admets. J'ai essayé d'améliorer cela, et je pense que c'est un peu mieux maintenant, voir: http://code.google.com/p/google-breakpad/wiki/GettingStartedWithBreakpad C'est une bibliothèque vraiment utile, et l'expédition avec beaucoup de logiciels de production, de sorte qu'il fait très bien le travail. –

6

J'ai écrit un article sur le dumping de la pile en C/C++ sous Windows et Unix/Linux chez DDJ il y a quelques années. Il n'utilise pas de coredump, mais il écrit les trames de pile dans un fichier journal, sur les erreurs internes ou lorsque le système d'exploitation détermine une erreur d'application.

Peut-être vous aide:

Voir http://www.ddj.com/architect/185300443

+0

Je sais que c'est vieux mais je ne peux pas voir la version Unix/Linux dans l'article. Y a-t-il une sorte de suivi quelque part? – yatsa

+0

Euh, je le vois maintenant (il y a des codes sources avec un exemple compatible avec POSIX) – yatsa

3

Pour le code compilé, il y a deux bonnes options - core dumps sous UNIX variantes et Dr. Watson crash logs/décharges sous Windows. Je sais que ce n'est pas une solution multiplateforme, mais si vous n'avez affaire qu'à deux plateformes, avoir deux solutions n'est pas si grave.

Bien sûr, les solutions capturent uniquement une image de base au moment de l'accident et non l'état de la machine. Je ne connais pas de quoi que ce soit qui capturera IO et la charge du processeur au moment du plantage d'une application. Vous pourriez vouloir regarder dans le Mozilla Crash Reporter qui est, assez curieusement, aussi connu comme "Breakpad" ... coïncidence?

+1

non, ce n'est pas une coïncidence - mozilla utilise google breakpad comme gestionnaire de crash. – Thomi

Questions connexes