J'ai une application de console écrite en Free Pascal, qui, comme la plupart des applications plus importantes, se bloque parfois. Comme cette application est en ligne, je demande généralement aux gens de m'écrire la trace de la pile lors d'un crash - je la distribue avec debug et lineinfo. Toutefois, l'application utilise la sortie FPC video.pas et parfois la pile de sortie de texte n'est pas visible.Attraper pile-trace dans Free Pascal
Existe-t-il un moyen d'intercepter le texte écrit sur des exceptions non gérées avec la trace de la pile, afin que je puisse l'écrire dans un fichier? Je ne peux pas simplement rediriger l'erreur standard vers un fichier, car la vidéo FPC ne fonctionne pas avec ça, et j'aimerais aussi que les gens exécutent simplement l'exécutable, pas un fichier batch ou un fichier shell.
À titre d'exemple, je voudrais prendre à un fichier ou une autre source de sortie:
ERangeError : Range check error∙
$0048C0EA TCELLS__GETCELL, line 104 of dfmap.pas
$004AD133 TDOOMGENERATOR__GENERATECITYDUNGEON, line 397 of dfdungen.pas
$004AF87D TDOOMGENERATOR__GENERATE, line 760 of dfdungen.pas
$0041293B TDOOM__RUN, line 354 of doombase.pas
$00401CD6 main, line 51 of doomrl.pas
Toute possibilité de le faire proprement?
Merci beaucoup, d'une certaine manière je m'attendrais à ce que vous soyez le seul à connaître la réponse:> –
Naah, je ne suis qu'un des mineurs FPC se démonte. –