gnu debugger-Experten gesucht ...



  • ... die mir sagen können, was in etwa der gdb mir hiermit sagen will:

    ...
    Program received signal SIGSEGV, Segmentation fault.
    0x40197137 in chunk_alloc () from /lib/libc.so.6
    (gdb) where
    #0 0x40197137 in chunk_alloc () from /lib/libc.so.6
    #1 0x40196f6e in malloc () from /lib/libc.so.6
    #2 0x400d594e in operator new(unsigned) () from /usr/lib/libstdc++.so.5
    #3 0x400b090c in std::__default_alloc_template<true, 0>::allocate(unsigned) () from /usr/lib/libstdc++.so.5
    #4 0x0804f4b3 in std::__simple_alloc<double, std::__default_alloc_template<true, 0> >::allocate(unsigned) ()
    #5 0x0804f21f in std::_Vector_alloc_base<double, std::allocator<double>, true>::_M_allocate(unsigned) ()
    #6 0x0804edb6 in std::vector<double, std::allocator<double> >::_M_insert_aux(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, double const&) ()
    #7 0x0804e781 in std::vector<double, std::allocator<double> >::push_back(double const&) ()
    #8 0x0804e0f5 in EmissionSpectrum::plot(double, double) const ()
    #9 0x0804a476 in eval_command(std::vector<std::string, std::allocatorstd::string > const&, std::ostream&) ()
    #10 0x0804aaa7 in command_interface(std::istream&, std::ostream&, std::string const&) ()
    #11 0x0804ac8c in main ()
    #12 0x401414f2 in __libc_start_main () from /lib/libc.so.6
    ...

    Also ich finde den Fehler im Programm beim besten willen nicht ... vielleicht erkennt ja jemand an der debugger-Ausgabe schon was falsch ist, und kann mir sagen wo ich suchen muss ...

    Die Quellcodezeile in der es kracht:

    [cpp]

    vector<double> v1; vector<double> v2;
    ...
    for (int i = low; i < upp; i=i+p)
    {v1.push_back((double)((operator[] (i)).first));
    v2.push_back((double)((operator[] (i)).second));}

    [\cpp]

    Eine Bereichsverletzung des []-Operators scheidet aber als Ursache definitiv aus!

    Bin für jeden Hinweis dankbar


Anmelden zum Antworten