Gdb meldung : ... Segmentation fault

hallo zusammen,
folgendes Problem:
ich bekomme beim starten von debuger folgende meldung:
gdb meldung Program received signal SIGSEGV, Segmentation
fault.
weiter meldungen werden in entwicklungsumgebung ausgegeben:

  • no source file: hello.c
  • keine quelle 0x… strcpy from …/lib/…

ich habe im internet gelesen, dass diese fehler mit dem umgang
von zeiger und speicher manipulation zu tun hat, ich kan damit
nicht anfängen weil die Stelle , wo das Programm
abstürzt,nicht angezeigt wird.

wenn ich eine funktionsaufruf in meine main funktion
commentiere, dann ist die meldung weg.
ja sie würden sagen die Fehler kommt von diese funktion her
aber der debuger achtet in diesem Fall nicht mehr auf mein
Breakpoints und hält nicht dort , sondern führt er das
programm bis ende aus.

ich bekomme in der Applikation auch schlimme effekte (die
makefiles lassen sich nicht ausführen), wenn ich den debug
level auf 3 setze

bei andere Applikation läuft der debuger ganz normal auch bei
verschiedene debug level.

hat jemandt eine Erklärung dafür ?

zur info: ich verwende KDevelop unter Linux suse

youssef

hallo zusammen,
folgendes Problem:
ich bekomme beim starten von debuger folgende meldung:
gdb meldung Program received signal SIGSEGV, Segmentation
fault.
weiter meldungen werden in entwicklungsumgebung ausgegeben:

  • no source file: hello.c
  • keine quelle 0x… strcpy from …/lib/…

Das sieht so aus als würdest du einen Null-Pointer als zweiten Parameter von strcpy verwenden. Stell mal sicher, dass das Programm mit der Compileroption -g gebaut wird, dann müsstest du genauere Zeilenangaben und mit bt einen Backtrace bekommen.

hallo Nicos,
wo kann ich die option -g und bt zum compiler geben in Kdevelop ?

youssef

wo kann ich die option -g und bt zum compiler geben in
Kdevelop ?

Kdevelop sollte -g setzen, wenn du in Project->Build Configuration „debug“ auswählst. Wie man den debugger von KDev aus überredet, einen backtrace auszuspucken weiss ich leider nicht.