[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: C-Seltsamkeit



On Tue, 10 Jan 2012 17:53:52 +0100, Andreas Pakulat wrote:
On 10.01.12 17:19:45, Frank Lassowski wrote:
Mir ist vorhin was seltsames passiert.

Ich lasse meine PV-Anlage von einem 'selbst'geschriebenen Programm in eine MySQL-DB loggen, das System ist Debian Lenny auf einem kirkwood (Sheeva).
Das Ding ist in C geschrieben und wurde seit einem Jahr jeden Morgen
gestartet, jeden Abend beendet und lief völlig fehlerfrei. Bis ich ihn heute stoppte. Und jetzt kann ich ihn nicht wieder starten, er produziert
sofort einen Speicherzugriffsfehler.

Das einzige, was in der Zwischenzeit auf dem Server passiert ist, ist das kompilieren des logger-Nachfolgers. Nach erfolgreichem Durchlauf schmiss dieses Programm zuerst den Fehler, woraufhin ich den alten wieder ans Werk
gehen lassen wollte. Und der kommt jetzt auch mit dem Fehler.

Könnt Ihr mir da Hinweise geben, was da passiert sein könnte? Ansonsten
läuft das Teil nämlich anscheinend völlig einwandfrei.

Zuerstmal rauskriegen warum der Fehler auftritt, also ein beherztest:

aptitude install gdb

gdb logger
run
<crash abwarten>
bt

und schauen ob da Funktionsnamen bei rauskommen. Wenn nicht muss das
logger Tool mit Debug-Symbolen neu kompiliert werden, ueblicherweise
-O2 -g an den Compiler uebergeben.

Andreas

Hi,

als nächstes dann noch die Coredumps mit "ulimit -c 500000" aktivieren (die Zahl ist eigentlich unrelevant, sollte aber hoch genug gesetzt werden) und das Programm nochmal abschmieren lassen. Danach kannst du den erstellten Speicherdump dann mit dem gdb analysieren und so rausfinden, in welcher Zeile der SegFault auftritt.

Gruß,
Simon


Reply to: