[GDB] Segmentation fault, bei im normalvetrieb funktionstüchtigem Programm

Lemiras

Mitglied
Guten morgen,
ich habe ein Problem bei dem ich absolut nicht mehr weiter komme, ich schreibe ein umfangreicheres Programm für den GPIB Bus unter Linux, der Treiber der GPIB Karte wird über eine Shared Libery und einer optional einer Objektdatei angesprochen.

Mit den bei dem Treiber enthaltenen Beispielcode läuft die Karte auch ohne Probleme. Wenn ich nun den Code mir im GDB anschauen und ausführern will, wird bei jedem Aufruf einer Funktion die auf den Treiber zugreift ein SIGSEGV an den Debugger gesendet. Der natürlich Abbricht.

Meine Frage hat ihrgendwer eine Idee weshalb und wieso dieses Signal generiert wird, denn bei einerm 'normalem' Programaufruf läuft es anscheinend einwandfrei.

Bräuchte es relativ dringend denn ich bin beim Debuggen der Applivation auf einen Debugger angewiesen.

Gruß Lemiras

(never update a running System)
 
Zuletzt bearbeitet:
Re: [GDB] Segmentation fault, Eingenzung

Edit: Ich konnte das Problem ein wenig eingrenzen.
Beim ersten Aufruf einer Funktion die auf den Treiber zugreift wird ein zweiter Thread geöffnet.

Wenn ich das Programm erst wieder durch einen Breakpoint unterbreche wenn das Board geschlossen, und damit der Thread beendet ist. Wird kein SIGSEGV ausgelöst.

Unterbreeche ich aber nun den Thread wenn das Board online ist und steppe durch das Programm oder setze einen Breakpoint erhält der Treiber Thread das Signal und das Programm stirbt.

das Programm nicht zu unterbrechen ist leider auch keine Lösung da dies genau die interesanten stellen sind zum debuggen, und ich das Board eigentlich über die gesammte Laufzeit online halten wollte. Aber ich werd mal schaun.

Gruß Lemiras

**************************************************************
hab doch noch eine Antwort von NI bekommen ... "knwos about the problem and works on it" ....... ich geh jetzt heim!
 
Zuletzt bearbeitet:
Zurück