Je dev en c++ une minuscule fonction et je ne comprend pas pourquoi j'ai un gros crash lorsque j'atteins une ligne particuliere...
Je precise : je dev sous eclipse avec cdt, sous linux (red hat enterprise)
Code :
- void gen_identity::write_list(void)
- {
- std::ofstream fichier("list_identity.txt",std::ios::trunc);
- if ( !fichier )
- {
- std::cerr << "Erreur de creation du fichier" << std::endl;
- exit(1);
- }
- for(unsigned int i=0;i<this->list.size();i++)
- {
- std::bitset<ID_REG_LENGTH> bval(this->list[i]);
- for(unsigned int b=0;b<ID_REG_LENGTH;b++)
- {
- fichier<<bval.test(b);
- std::cout<<bval.test(b);
- }
- std::cout<<std::endl;
- fichier<<std::endl;
- }
- fichier.close();
- }
|
Ca crash sur la ligne std::ofstream fichier("list_identity.txt",std::ios::trunc); avec la backtrace :
Code :
- *** glibc detected *** /export/tmp/srcDW/DreamWafer/trunk/reticle/sim/rtl_sim/src/gen_identity/gen_identity/Debug/gen_identity: free(): invalid size: 0x08d4c060 ***
- ======= Backtrace: =========
- /lib/libc.so.6[0x2a5f5d]
- /lib/libc.so.6[0x2a6c93]
- /lib/libc.so.6(__libc_malloc+0x7e)[0x2a7d8e]
- /lib/libc.so.6[0x295baf]
- /lib/libc.so.6(fopen64+0x2c)[0x29802c]
- /usr/java/jdk1.5.0_11/jre/../lib/i386/libstdc++.so.6(_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei+0x55)[0x508ed15]
- /usr/java/jdk1.5.0_11/jre/../lib/i386/libstdc++.so.6(_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode+0x7e)[0x50376ce]
- /usr/java/jdk1.5.0_11/jre/../lib/i386/libstdc++.so.6(_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode+0xb8)[0x5038558]
- /export/tmp/srcDW/DreamWafer/trunk/reticle/sim/rtl_sim/src/gen_identity/gen_identity/Debug/gen_identity(__gxx_personality_v0+0x34a)[0x8048d9e]
- /export/tmp/srcDW/DreamWafer/trunk/reticle/sim/rtl_sim/src/gen_identity/gen_identity/Debug/gen_identity[0x804a7ad]
- /lib/libc.so.6(__libc_start_main+0xdc)[0x255dec]
- /export/tmp/srcDW/DreamWafer/trunk/reticle/sim/rtl_sim/src/gen_identity/gen_identity/Debug/gen_identity(__gxx_personality_v0+0x5d)[0x8048ab1]
- ======= Memory map: ========
- 00223000-0023c000 r-xp 00000000 08:01 11952 /lib/ld-2.5.so
- 0023c000-0023d000 r-xp 00018000 08:01 11952 /lib/ld-2.5.so
- 0023d000-0023e000 rwxp 00019000 08:01 11952 /lib/ld-2.5.so
- 00240000-00377000 r-xp 00000000 08:01 11966 /lib/libc-2.5.so
- 00377000-00379000 r-xp 00137000 08:01 11966 /lib/libc-2.5.so
- 00379000-0037a000 rwxp 00139000 08:01 11966 /lib/libc-2.5.so
- 0037a000-0037d000 rwxp 0037a000 00:00 0
- 0037f000-003a4000 r-xp 00000000 08:01 11974 /lib/libm-2.5.so
- 003a4000-003a5000 r-xp 00024000 08:01 11974 /lib/libm-2.5.so
- 003a5000-003a6000 rwxp 00025000 08:01 11974 /lib/libm-2.5.so
- 00dc8000-00dd3000 r-xp 00000000 08:01 11949 /lib/libgcc_s-4.1.1-20070105.so.1
- 00dd3000-00dd4000 rwxp 0000a000 08:01 11949 /lib/libgcc_s-4.1.1-20070105.so.1
- 04fdb000-050bb000 r-xp 00000000 08:01 221371 /usr/lib/libstdc++.so.6.0.8
- 050bb000-050be000 r-xp 000e0000 08:01 221371 /usr/lib/libstdc++.so.6.0.8
- 050be000-050c0000 rwxp 000e3000 08:01 221371 /usr/lib/libstdc++.so.6.0.8
- 050c0000-050c6000 rwxp 050c0000 00:00 0
- 08048000-0804c000 r-xp 00000000 08:02 18645726 /export/tmp/srcDW/DreamWafer/trunk/reticle/sim/rtl_sim/src/gen_identity/gen_identity/Debug/gen_identity
- 0804c000-0804d000 rwxp 00003000 08:02 18645726 /export/tmp/srcDW/DreamWafer/trunk/reticle/sim/rtl_sim/src/gen_identity/gen_identity/Debug/gen_identity
- 08d4c000-08d8f000 rwxp 08d4c000 00:00 0
- b7d00000-b7d21000 rwxp b7d00000 00:00 0
- b7d21000-b7e00000 --xp b7d21000 00:00 0
- b7edf000-b7ee1000 rwxp b7edf000 00:00 0
- b7f00000-b7f01000 rwxp b7f00000 00:00 0
- b7f01000-b7f02000 r-xp b7f01000 00:00 0 [vdso]
- bfc18000-bfc2d000 rw-p bfc18000 00:00 0 [stack]
|
Mais j'ai ecris cette ligne des centaines de fois !!!
J'ai fait des essais, si je vire tous les acces a fichier (tout part en cout) ca marche au poil. J'ai essaye divers type d'ouverture, y'a rien a faire...
Honnetement... ca peut venir d'ou ?
Ah je precise les includes de ce fichier :
Code :
- #include <iostream>
- #include <fstream>
- #include <bitset>
- #include "gen_identity.h"
|
Message édité par guepe le 19-09-2007 à 17:39:18
---------------
Un blog qu'il est bien