2012-06-20 16 views
5

Ho un segfault proveniente da OpenSSL (in particolare SSL_read) che vorrei eseguire il debug. Penso che il passo migliore da fare sia costruire la libreria con i simboli di debug in modo da poter entrare nella funzione e vedere il comando su cui sta accadendo. Non mi è chiaro come a) costruire la libreria io stesso e b) hackerare il makefile per darmi i simboli di debug. Qualcuno ha esperienza nel fare questo con questa libreria specifica, o avere linee guida generali su questo tipo di approccio per costruire e modificare?Creare OpenSSL su Linux con -g per il debug

ottenuto questo errore:

./config -d 
Operating system: x86_64-whatever-linux2 
This system (debug-linux-x86_64) is not supported. See file INSTALL for details. 

Non so cosa fare qui. OS info:

$ cat /proc/version 
Linux version 3.2.0-24-virtual ([email protected]) (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 

risposta

4

è possibile seguire le semplici istruzioni menzionati here per la costruzione di OpenSSL. Per creare una build di debug, aggiungere il flag -d quando si esegue ./config, ad esempio ./config -d [other options]. Costruire OpenSSL è menzionato in dettaglio here.

+0

non ha funzionato - pubblicato l'output alla mia domanda originale – djechlin

+0

Provando ancora con l'ultima versione ... Ho seguito stupidamente la prima guida che hai postato che è stata scritta quando 0.9.8c era attuale, presumo. – djechlin

+0

OK. Mi sono confuso da lì, capito. – djechlin

1

Dopo aver eseguito la fase di configurazione regolare, effettuare le seguenti operazioni dalla shell:

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

modifica le makefiles generati; invece dell'opzione di ottimizzazione -O3 inserisce l'opzione -g (genera i simboli di debug).

2

Nelle nuove versioni di OpenSSL, sembra che le bandiere passate a ./Configure vengano iniettate direttamente nella riga gcc durante la compilazione. Ho appena fatto ./Configure -g linux-x86_64 e ho ottenuto il debugging dei simboli nella mia build.

Problemi correlati