"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué GDB informa un error de archivo faltante al depurar excepciones de C++ en Ubuntu?

¿Por qué GDB informa un error de archivo faltante al depurar excepciones de C++ en Ubuntu?

Publicado el 2024-11-14
Navegar:432

Why Does GDB Report a Missing File Error When Debugging C   Exceptions in Ubuntu?

GDB muestra un error de archivo faltante para el código fuente de la biblioteca

Al usar GDB para depurar excepciones de C, los usuarios pueden encontrar un mensaje de error que indica una falta archivo, como "No existe tal archivo o directorio" para "raise.c". Este error puede ocurrir incluso si la excepción se maneja correctamente.

Solución: obtener el código fuente de la biblioteca e información de depuración

Para solucionar este problema, es necesario obtener la código fuente e información de depuración para la biblioteca relevante, en este caso, libc6. Ubuntu proporciona el paquete debuginfo para este propósito.

Pasos para depurar el código fuente de la biblioteca C:

  1. Instale la versión debuginfo de libc6: sudo apt install libc6- dbg.
  2. Configurar el sistema de paquetes para descargar paquetes de código fuente:

    • Instalar dpkg-dev: sudo apt install dpkg-dev.
    • Descomentar " deb-src" líneas en /etc/apt/sources.list si es necesario.
  3. Descargar código fuente:

    • Crear un directorio: / opt/src.
    • Descargar código fuente: apt source libc6.
    • Tenga en cuenta el directorio del código fuente (p. ej., /opt/src/glibc-2.23).
  4. Ajustar el directorio de código fuente de GDB:

    • Identificar el directorio de código fuente esperado usando la fuente de información (gdb).
    • Mover o vincular simbólicamente el código fuente al directorio esperado ubicación, o establezca una ruta sustituta: (gdb) establezca ruta-sustituta /ubicación-esperada /ubicación-actual.

Una vez que se completen estos pasos, GDB podrá acceder al código fuente correcto y proporcionar información de depuración precisa para la excepción.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3