Récupérer les infos sur une erreur

Résolu
grosdave653 Messages postés 16 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 29 juillet 2005 - 22 juil. 2005 à 08:57
grosdave653 Messages postés 16 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 29 juillet 2005 - 26 juil. 2005 à 15:54
Bonjour,
Je voudrais savoir si il est possible de récupérer le nom de l'unité et le numéro de ligne d'une erreur lorsqu'elle se produit.Le ShowException n'est pas suffisant ...
Merci

6 réponses

grosdave653 Messages postés 16 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 29 juillet 2005
26 juil. 2005 à 15:54
Ok autant pour moi je viens de piger... jsuis un boulet et ce que je veut faire est pas possible ... merci de ton aide
3
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
24 juil. 2005 à 21:01
Delphi est un débuggeur dont le processus d'analyse est intégré dans le fonctionnement de l'application. Les exceptions sont détectées par des adresses, et comme Delphi est le compilateur, il sait quelle instruction à l'adresse X est associée à la ligne de code numéro N. Ces données sont mémorisées dans les DCU (si une option a été cochée, ce qui est vrai par défaut).


Une fois l'EXE déployé, ce que tu veux n'est plus possible. Il faut que tu insères des marqueurs stratégiques afin de repérer la ligne. C'est ce que fait le linker de Delphi : lorsqu'il rencontre une erreur interne (un bug dans sa programmation), il affiche une clé du style "C1205". Seul Borland peut effectuer les corrections approfondies...


Il n'est pas concevable de mettre des marqueurs sur chaque ligne : inutile, alourdissement et ralentissement de l'exe.


En théorie, connaissant l'adresse de l'erreur, avec des outils sophistiqués, tu devrais peut-être pouvoir retrouver le code qui est fautif dans ton programme. Jugeotte oblige sinon à quoi servirait l'adresse affichée.

===========
Validez les réponses si ok...

ViewVite XP : HTML
0
grosdave653 Messages postés 16 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 29 juillet 2005
25 juil. 2005 à 09:36
C'est bien gentil de ramener ta science mais j'aurais préféré que tu répondes simplement à ma question, à savoir "est-il possible de récupérer le numéro de la ligne et l'unité où c'est produite une erreur". Je ne te demande pas de m'expliquer comment fonctionne le compilateur, parce que premièrement je m'en tape, et deuxièmement ça n’a rien à voir avec ma question.
"tu devrais peut-être pouvoir retrouver le code qui est fautif dans ton programme."
Cette phrase est un peu prétentieuse de ta part Je n'ai pas de code FAUTIF dans mon programme, je cherche seulement à récupérer les infos sur une erreur lorsqu'elle se produit.
Merci de ne pas prendre les gens pour des abrutis ...
0
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
25 juil. 2005 à 10:06
«Une fois l'EXE déployé, ce que tu veux n'est plus possible»
«Il faut que tu insères des marqueurs stratégiques»


Si tu n'as pas envie de comprendre certaines choses, c'est ton problème... D'ailleurs, j'aurais pu te laisser sans réponse, et il n'y aurait pas eu d'embrouilles (perso, j'en vois pas).


C'est pas compliqué : 1 exception 1 adresse + 1 code erreur. De toutes façons, c'est pas en une ligne qu'on te fera apprendre ce qu'est le debuggage. Alors reste avec tes a priori, et à bientôt...
ViewVite XP : HTML
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
grosdave653 Messages postés 16 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 29 juillet 2005
26 juil. 2005 à 11:11
Arf... Scuze
Je sais comment marche le debuggeur (dans les grandes lignes) mais ce que je veux, et ce que tu veut pas me dire on dirai ... c'est récupérer DANS l'application, alors qu'elle est en exécution, le numéro de ligne et l'unité où est survenue une erreur. Je ne parle pas d'une erreur précise qui me poserai un problème, je te parle du cas général où une erreur se produit alors qu'elle n'est pas gérer dans le code par un try par exemple, car je fais une petite appli utilisable dans différents programmes qui prend une capture d'ecran lorsqu'une erreur inconnue se produit et qui envoie celle-ci par mail au responsable en question.
Pour être plus précis, une fois un logiciel terminé et mis en place, des erreurs dues au réseau peuvent apparaitrent alors qu'elle n'exsitait pas en phase de développement... je veux donc être capable de savoir où se produisent ces erreurs... est-ce enfin clair ?? ou est ce que tu va encore me parler d'adresses ?
0
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
26 juil. 2005 à 14:07
J'ai très bien compris ton problème, expliqué en C++ sur un autre topic. Une adresse xxxx:xxxx permet de repérer l'instruction ASM qui a buggé dans ton fichier EXE. Mais après, pour retrouver le code Pascal à l'origine de l'adresse affichée, c'est une autre paire de manches...

===========
ViewVite XP : HTML
0
Rejoignez-nous