Forum Clubic

[C++] Exception [à moitié résolu] - exception raised but no catch

Bonjour,

Je suis actuellement sur un projet ou j’ai du récupérer le code d’une autre personne pour l’intégrer dans un logiciel, ce code avait été testé sur 2 ou 3 exemples seulement. Quand j’ai essayé de l’exécuter avec d’autres exemples (très simples) j’ai eu un problème d’exception qui n’est pas “catché”.

Sous le débugger de Visual Studio 98 ça me met :
http://fattony2.free.fr/unandled_exception.png
Dans les fichiers débuggé je n’ai pas l’endroit ou l’exception à été lancée à la base, tout ce que j’ai exactement dans la combobox contenant la trace c’est
KERNEL32! 77e9bbf3()
MSVCRT! 78007108()
TKERNEL! 0060595b()
TKG2D! 00f1542c()

(Pour info les deux dernier - donc premiers dans la pile - sont liés à Open CASCADE)
Chacun pointant vers du code désassemblé de la DLL correspondante.

Et sous Linux avec gdb ça me met :
*** Abort *** an exception was raised, but no catch was found.
… The exception is:0x4116e08b : Standard_ConstructionError: Geom_TrimmedCurve::parameters out of range

J’ai essayé de faire la commande where mais ça me met :
No stack.

Si quelqu’un avait une méthode trouver où se cache cette #*@&$ d’exception à la noix :smiley: ça serait cool,
Merci.

Je crois que tu devrais essayer de recompiler avec les options de debug au max… (enfin, je fais pas de c++)

Je compile déja comme ça, enfin je ne sais pas s’il y a des options de plus que -g sous Linux, et pour Windows les dll ou je vois que le code décompilé sont celles ou je n’ai pas les sources.
Merci quand même :D.
:kimouss:

Finalement j’ai trouvé à l’ancienne ou étais cette foutu exception, je l’ai catchée, compilé sous windows et ça marche niquel. Puis compilé sous Linux, mais là problème, à l’exécution il me met toujours :

Que faire ? :’(
Merci.
:kimouss:

tu peux essayer -ggdb3 comme option de débug, ça met des flags de débug spécifiques à gdb, qui pourrait te renseigner sur la source de l’erreur.

Mais fais gaffe, ton executable sera 10 fois plus gros et 10 fois + lent