9
votes

Construire OpenSSL sur Linux avec -g pour le débogage

J'ai un segfault venant d'Openssl (spécifiquement ssl_read code>) que j'aimerais déboguer. Je pense que la meilleure étape à suivre est de construire la bibliothèque moi-même avec des symboles de débogage afin que je puisse entrer dans la fonction et voir la commande que cela se produit. Ce n'est pas clair pour moi comment) construire la bibliothèque moi-même et b) pirater le maquillage de me donner les symboles de débogage. Est-ce que quelqu'un a une expérience de l'expérience avec cette bibliothèque spécifique ou des directives générales sur ce type d'approche de construction et de modification?

obtenu cette erreur: p> xxx pré>

Je ne sais pas quoi faire ici. Info du système d'exploitation: P>

$ cat /proc/version
Linux version 3.2.0-24-virtual (buildd@yellow) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.31ubuntu5) ) #37-Ubuntu SMP Wed Apr 25 10:17:19 UTC 2012
$ uname -srvio
Linux 3.2.0-24-virtual #37-Ubuntu SMP Wed Apr 25 10:17:19 UTC 2012 x86_64 GNU/Linux


0 commentaires

3 Réponses :


7
votes

Vous pouvez suivre les instructions simples mentionnées par ici pour le bâtiment OpenSSL. Pour effectuer une version de débogage, ajoutez le drapeau -d lorsque vous exécutez ./ config , i.e. ./ config -d [Autres options] . Building OpenSSL est mentionné en détail ici .


2 commentaires

Essayer à nouveau avec la dernière version ... Je trombrai du premier guide que vous avez posté qui a été écrit lorsque 0.9.8C était à jour, je suppose.


D'ACCORD. Moudouda mon chemin à partir de là, l'ai eu.



2
votes

Après avoir exécuté l'étape de configuration régulière, procédez comme suit à partir de la coque:

$ find . -name Makefile | xargs sed -i -e 's#-O3#-g#g'


0 commentaires

4
votes

sur de nouvelles versions de OpenSSL, il ressemble à des drapeaux transmis à ./configure être injecté directement dans la ligne GCC lors de la compilation. Je viens de faire ./ configure -g linux-x86_64 et a eu avec succès les symboles de débogage dans ma construction.


0 commentaires