:: DEVELOPER ZONE
Sur quelques systèmes d'exploitation, le log d'erreurs contiendra un fichier
de pile mémoire si mysqld se termine soudainement. Vous pouvez utiliser
ceci pour trouver où (et peut-être pourquoi) mysqld s'est terminé.
See Section 5.9.1, « Le log d'erreurs ». Pour obtenir un tra¸age de la pile, vous ne devez pas compiler
mysqld avec l'option -fomit-frame-pointer de gcc.
See Section D.1.1, « Compiler MYSQL pour le débogage ».
Si le fichier d'erreurs contient quelque chose qui ressemble à ce qui suit :
mysqld got signal 11; The manual section 'Debugging a MySQL server' tells you how to use a stack trace and/or the core file to produce a readable backtrace that may help in finding out why mysqld died Attemping backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong stack range sanity check, ok, backtrace follows 0x40077552 0x81281a0 0x8128f47 0x8127be0 0x8127995 0x8104947 0x80ff28f 0x810131b 0x80ee4bc 0x80c3c91 0x80c6b43 0x80c1fd9 0x80c1686
vous pouvez trouver où s'est terminé mysqld en exécutant ce qui suit :
Copiez les nombres précédents dans un fichier, mysqld.stack par exemple.
créez un fichier symbolique pour le serveur mysqld :
nm -n libexec/mysqld > /tmp/mysqld.sym
Notez que beaucoup de distributions binaires MySQL fournissent le fichier précédent,
nommé mysqld.sym.gz. Dans ce cas, décompressez le en faisant :
gunzip < bin/mysqld.sym.gz > /tmp/mysqld.sym
Exécutez resolve_stack_dump -s /tmp/mysqld.sym -n mysqld.stack.
Cela affichera l'endroit où mysqld a planté. Si cela ne vous aide pas à
trouver pourquoi mysqld a planté, vous devez créer un rapport de bogue
et y inclure le résultat de la commande précédente.
Notez toutefois que dans la plupart de cas le fait de n'avoir que le tra¸age de la pile
ne nous aidera pas à trouver d'où vient le problème. Pour être capable de trouver le bogue,
ou fournir une parade, nous aurons besoin dans la plupart des cas, nous aurons besoin de
connaître la requête qui a fait planter mysqld et une batterie de tests pour que
nous puissions reproduire le problème ! See Section 1.7.1.3, « Comment rapporter un bogue ou un problème ».
© 1995-2005 MySQL AB. All rights reserved.
