Gentoo Archives: gentoo-user-de

From: Eckard Brauer <e.brauer@×××××××××.de>
To: gentoo-user-de@l.g.o
Subject: Re: [gentoo-user-de] Stacktrace einschalten?
Date: Mon, 26 Sep 2005 07:19:51
Message-Id: 200509260918.14488.e.brauer@intershop.de
In Reply to: Re: [gentoo-user-de] Stacktrace einschalten? by Erik Wasser
1 Am Freitag, 23. September 2005 14:37 schrieb Erik Wasser:
2 > Stacktraces werden normalerweise vom Compiler mitgeführt, deshalb meine
3 > Frage nach den entsprechenden Compile-Optionen.
4
5 Bin kein Programmierer mehr und der Meinung, daß Stacktraces vom
6 Betriebssystem beim Eintreffen bestimmter Signale
7 (Speichersegment-Verletzung, unerlaubte Opcodes, Adressierungsfehler - also
8 alles Sachen, die auf systematische Fehler hinweisen und deshalb untersucht
9 werden sollten) erzeugt werden. Dabei wird das gesamte Prozeßabbild, d.h.
10 Code (Text) und initialisierte und allokierte Datenbereiche des Prozesses
11 (ausgeführtes Binary und Bibliotheken) auf Platte geschrieben (ggf. von ALLEN
12 Threads). Da das i.d.R. 'ne Menge Platz braucht, ist das normalerweise
13 ausgeschalten.
14
15 Der Compiler wird allerdings die Symboltabellen, die die Zuordnung
16 Speicherplatz <-> Symbolnamen ermöglichen, entfernen, wenn man nicht mit der
17 Option "-g" übersetzt hat. Debugging (von core-Dumps) ist dann immer noch
18 möglich, aber schwierig.
19
20 > Einen Stacktrace sieht man zum Beispiel unter http://tinyurl.com/8hayz
21
22 Is'n Backtrace, und damit normalerweise das erste, was man dem Debugger
23 entlockt. Hilft oft schon weit genug, aber beim core-Debugging kommt oft noch
24 'ne Menge mehr zur Anwendung...
25
26 zum "Einschalten": siehe "man ulimit; man proc"
27
28 # core-Dumps beliebiger Größe zulassen
29 ulimit -c unlimited
30
31 # das ganze etwas komfortabler machen :)
32 mkdir -p /tmp/cores
33 chmod 777 /tmp/cores
34 echo "/tmp/cores/core.%e.%p" > /proc/sys/kernel/core_pattern
35
36 Wenn noch 'was zu klären ist, ggf. per Privatmail, ich nehm' nicht an, daß das
37 viele Leute interessiert...
38
39 Viele Grüße
40 Eckard