¿Cómo instalar símbolos de depuración para paquetes instalados?


8

Intento ver cómo funcionan los programas ejecutándolos con el depurador 'Qt Creator'. Para una mejor orientación, me gustaría ver también las utilidades del sistema (núcleo) completamente en la ventana de la pila de llamadas, ya que estoy usado desde MS Visual Studio 6.0, no solo para ver su código de ensamblaje. Para las utilidades, el depurador 'Qt Creator' muestra solo que sus símbolos de depuración no están disponibles. (A veces, el sistema genera informes de errores para sus desarrolladores; el cuadro de diálogo de informe de errores ha solicitado instalar dichos símbolos solo para un programa en particular). ¿Cómo puedo obtener los símbolos de depuración principales? (Sin traducir la versión completa de Ubuntu. Uso el 'Administrador de actualizaciones' para instalar actualizaciones regularmente. Mi

/ sys / kernel / debug / x86
El directorio contiene solo un archivo vacío. No lo he encontrado en el 'centro de software de Ubuntu' ni veo si algunos de los paquetes en http://packages.ubuntu.com/precise/x11/ es lo que busco.) ¡Gracias!


1
Ver esta página
saiarcot895

@ saiarcot895 Funciona, por favor formule su comentario como respuesta para que pueda configurarlo como aceptado. ¿Dónde se colocan los símbolos de depuración en mi sistema de archivos? ¡Gracias!
Tomáš Pečený

Respuestas:


8

Los paquetes en Ubuntu tienen sus símbolos de depuración almacenados en un repositorio separado. Para descargar estos símbolos de depuración, ejecute (copiar y pegar):

printf "deb http://ddebs.ubuntu.com %s main restricted universe multiverse\n" $(lsb_release -cs){,-updates,-security,-proposed} | \
 sudo tee -a /etc/apt/sources.list.d/ddebs.list

para agregar los enlaces de repositorio /etc/apt/sources.list.d/ddebs.list(Esto facilita la eliminación del repositorio). Alternativamente, también puede copiar cada uno de los debenlaces en Fuentes de software y agregarlos desde allí (Tenga en cuenta que probablemente deba reemplazarlo $(lsb_release -cs)con la versión de Ubuntu que está ejecutando).

Para descargar los símbolos de depuración para package, sólo puede instalar package-dbgsymo, en algunos casos, package-dbg. Tenga en cuenta que los paquetes de un PPA no tienen símbolos de depuración disponibles en los repositorios, y que es responsabilidad del responsable de proporcionar un paquete que contenga los símbolos de depuración, generalmente en un paquete llamado package-dbg.

Los símbolos de depuración se instalan /usr/lib/debug, aunque gdbse leen automáticamente en los símbolos de depuración si están disponibles y que no necesita especificar manualmente una ubicación para buscar. Dependiendo de la versión de compatibilidad de Debhelper del paquete, los símbolos de depuración pueden estar ubicados en una carpeta con el nombre del ID de compilación ubicado dentro de .build-id( >= 9), o puede estar ubicado en relación con el lugar donde se instalaría el ejecutable ( < 9). Por ejemplo, si estaba buscando la ubicación de los símbolos de depuración para /usr/bin/zip, y la versión es inferior a 9, estaría en /usr/lib/debug/usr/bin/zip.

Para eliminar todos los símbolos de depuración y el repositorio, ejecute sudo apt-get remove \.*-dbgsympara eliminar todos los -dbgsympaquetes y sudo rm /etc/apt/sources.list.d/ddebs.listpara eliminar el repositorio de símbolos de depuración.


55
Solo una nota de que los PPA ahora generan paquetes dbgsym. Pero debe agregar una línea de deb con "main / debug", como: "deb ppa.launchpad.net/USER/PPA/ubuntu vivid main / debug"
Michael Terry

A partir de bionic, el repositorio de ddebs no tiene un archivo Release para bionic-security
Paulo Marcel Coelho Aragão el

5

Agregando a la respuesta de saircot859. También debe instalar la clave GPG para los repositorios como se describe aquí: https://wiki.ubuntu.com/Debug%20Symbol%20Packages

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01 C8CAB6595FDFF622

Se actualizó la página wiki vinculada. En Ubuntu 18.04 LTS y más reciente, use sudo apt install ubuntu-dbgsym-keyring.
user7610

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.