CLion:habilite la depuración de bibliotecas externas agregando archivos fuente

 C Programming >> Programación C >  >> Tags >> CLion
CLion:habilite la depuración de bibliotecas externas agregando archivos fuente

Esto podría suceder si libtins se compila sin información de depuración. ¿Cómo lo construyes exactamente?

Debería ser más o menos lo siguiente:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ../
make

Lo siguiente me funcionó en Ubuntu 16.04.3 LTS con CLion 2017.3.3.

Primero debe reemplazar el paquete CLion gdb con el original de Ubuntu (no estoy seguro de por qué):

$ cd ~/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/173.4548.31/bin/gdb/bin
$ mv gdb gdb_original
$ ln -s /usr/bin/gdb gdb

Luego, inicie la sesión de depuración colocando un punto de interrupción antes de ingresar al código de la biblioteca.

Cuando la ejecución se detenga en su punto de interrupción, vaya a la pestaña de la consola GDB y ejecute esto apuntando a la ruta completa donde reside el código fuente que se depurará. Por ejemplo, para depurar BIO_new de OpenSSL función que tenía que hacer:

(gdb) dir /full/path/to/openssl-1.0.2g/crypto/bio

Porque BIO_new se implementa en bio_lib.c que reside en la carpeta anterior.

Ahora puede acceder al código de su biblioteca.