696 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
Das gibt nur Informationen f¨ur die interessantesten Dinge in ‘/tmp/mysqld.trace’ aus.
Wenn Sie hier¨uber einen Bug-Bericht erstellen, schicken Sie bitte nur die Zeilen
aus der Trace-Datei an die entsprechende Mailing-Liste, in denen etwas schief
zu gehen scheint! Wenn Sie diese Stelle nicht finden k¨onnen, k¨onnen Sie die
Trace-Datei per FTP einschicken, zusammen mit einem kompletten Bug-Bericht, an
ftp://Support.mysql.com/pub/mysql/secret, so dass ein MySQL-Entwickler sich das
ansehen kann.
Die Trace-Datei wird mit dem DBUG-Paket von Fred Fish hergestellt. Siehe Abschnitt D.3
[The DBUG package], Seite 700.
D.1.3 mysqld unter gdb debuggen
Auf den meisten Systemen k¨onnen Sie mysqld von gdb starten, um mehr Informationen zu
erhalten, wenn mysqld abst¨urzt.
Bei einigen ¨alteren gdb-Versionen unter Linux m¨ussen Sie run --one-thread benutzen, um
den mysqld-Thread debuggen zu k¨onnen. In diesem Fall k¨onnen Sie zur gleichen Zeit nur
einen Thread aktiv haben.
Wenn Sie mysqld unter gdb laufen lassen, sollten Sie den Stack-Trace mit --skip-stack-
trace abschalten, um Segmentation-Fehler innerhalb gdb abfangen zu k¨onnen.
Es ist sehr schwierig, MySQL unter gdb zu debuggen, wenn Sie permanent viele neue
Verbindungen aufbauen, weil gdb den Speicher f¨ur den alten Thread nicht freigibt.
Sie k¨onnen dieses Problem vermeiden, indem Sie mysqld mit -O thread_cache_size=
’maximale_verbindungen +1’ starten. In den meisten F¨allen hilft bereits schon die
Benutzung von -O thread_cache_size=5’ recht viel!
Wenn Sie einen Coredump unter Linux erhalten wollen, wenn mysqld mit einem SIGSEGV-
Signal stirbt, k¨onnen Sie mysqld mit der --core-file-Option starten. Diese Core-Datei
kann benutzt werden, um eine Zur¨uckverfolgung (Backtrace) zu machen, die Ihnen helfen
kann herauszufinden, warum mysqld starb:
shell> gdb mysqld core
gdb> backtrace full
gdb> exit
Siehe Abschnitt A.4.1 [Crashing], Seite 635.
Wenn Sie gdb 4.17.x oder h¨oher unter Linux benutzen, sollten Sie eine ‘.gdb’-Datei mit
folgenden Informationen in Ihrem aktuellen Verzeichnis installieren:
set print sevenbit off
handle SIGUSR1 nostop noprint
handle SIGUSR2 nostop noprint
handle SIGWAITING nostop noprint
handle SIGLWP nostop noprint
handle SIGPIPE nostop
handle SIGALRM nostop
handle SIGHUP nostop
handle SIGTERM nostop noprint
Kommentare zu diesen Handbüchern