Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++
Outils pour C & C++ Forum d'entraide sur les outils de développement pour C & C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 16/05/2012, 20h39   #1
nounou0018
Invité régulier
 
Inscription : septembre 2009
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 27
Points : 6
Points : 6
Par défaut Pro*C core dump à l'execution.

Bonjour tout le monde,

ça fait un moment que je cherche sur les forums pour trouver un une solution à un petit souci qui me bloque !!!
Alors je vous explique , la ligne qui pose problème est la suivante
Code :
EXEC SQL PREPARE sql_stmt FROM :main_cursor;
, et ceci est dans un cas un peu particulier lors ce que la requête (main_cursor) ne renvoie rien je me retrouve avec un Memory fault(coredump).

J'ai regardé dans le core est l'erreur vient de cette ligne
Code :
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
dans le fichier C généré.

J'ai essayé de faire une gestion d'erreur avec sqlca.sqlcode != 0 ou sqlca.sqlerrd[2]==0 , mais rien n'est fait , d'ailleurs sqlca.sqlerrd[2] est égale à 1 !! bizarroïde !




Bref , je n'ai que ce point à régler avant d'annoncer la fin de mon batch !!! d'ailleurs c'est pour ça que je suis encore au taf !!!

à l'aideee ssvpppp !!!



backtrace :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
#0  0xc0198e98 in <unknown_procedure> + 0x608 () from /usr/lib/libc.2
#1  0xc019695c in <unknown_procedure> + 0x66c () from /usr/lib/libc.2
#2  0xc019c034 in malloc+0x18c () from /usr/lib/libc.2
#3  0xec3389bc in sqlalc+0x54 () from /logiciel/oracle/client_10203/lib32/libclntsh.sl.10.1
#4  0xec35a5b4 in sqlcucAllocate+0x14 () from /logiciel/oracle/client_10203/lib32/libclntsh.sl.10.1
#5  0xec333650 in sqlocc+0x234 () from /logiciel/oracle/client_10203/lib32/libclntsh.sl.10.1
#6  0xec36a870 in sqlopnt+0x54 () from /logiciel/oracle/client_10203/lib32/libclntsh.sl.10.1
#7  0xec34e918 in sqlopr+0x334 () from /logiciel/oracle/client_10203/lib32/libclntsh.sl.10.1
#8  0xec32f97c in sqlnst+0x704 () from /logiciel/oracle/client_10203/lib32/libclntsh.sl.10.1
#9  0xec32599c in sqlcmex+0x2fc () from /logiciel/oracle/client_10203/lib32/libclntsh.sl.10.1
#10 0xec326084 in sqlcxt+0x78 () from /logiciel/oracle/client_10203/lib32/libclntsh.sl.10.1
nounou0018 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2012, 17h11   #2
nounou0018
Invité régulier
 
Inscription : septembre 2009
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 27
Points : 6
Points : 6
Comme quoi, il faut jamais se fier à un seul debegguer !
Après plusieurs tests , finalement l'erreur ne venait pas vraiment de cette ligne, et n'avait aucune relation avec du Pro*C.
C'est essentiellement à cause d'un calloc...j'ai pas trop cherché à comprendre le pourquoi du comment , je l'ai viré et ça marche nikel!

Bon voilà ! Dernier conseil !!!!!!!!!! /!\ Pensez à utiliser Valgrind ^^
nounou0018 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h27.


 
 
 
 
Partenaires

Hébergement Web