es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede abrir ‘libc-start.c’

Estoy intentando depurar mi código en C en vscode y tengo algunos problemas.
Estoy utilizando Ubuntu y tengo instalados los compiladores gcc y gdb debugger. Cuando inicio la depuración de mi código y llego a una línea con printf o scanf, obtengo este error:
No se puede abrir 'libc-start.c': No se puede leer el archivo '/build/glibc-eX1tMB/glibc-2.31/csu/libc-start.c' (Error: No se puede resolver el archivo inexistente '/build/glibc-eX1tMB/glibc-2.31/csu/libc-start.c').
Leí algunas respuestas a esta pregunta que decían que tengo que instalar glibc-source, y lo hice. Luego agregué esto a mi launch.json:

"sourceFileMap": {
    "/build/glibc-S7xCS9": "/usr/src/glibc"
}

Aún así, nada ha cambiado.
¿Sabes algo que pueda ayudarme? Puedo proporcionar más información si es necesario.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error que estás recibiendo indica que gdb no puede encontrar el archivo fuente libc-start.c. Una solución es instalar el paquete glibc-source, como ya has hecho. Sin embargo, parece que la configuración de mapeo que agregaste a tu launch.json no está funcionando.

    Algo que puedes intentar es actualizar la configuración de mapeo para que apunte a la ruta correcta de los archivos fuente de glibc. Puedes encontrar la ruta ejecutando el siguiente comando en la terminal:

    dpkg -L libc6-dev | grep "libc-start.c"
    

    Esto debería devolver la ruta al archivo libc-start.c. Luego puedes actualizar tu configuración launch.json en consecuencia, de esta manera:

    "sourceFileMap": {
        "/build/glibc-eX1tMB/glibc-2.31/csu": "/usr/include/x86_64-linux-gnu/gnu"
    }
    

    Alternativamente, puedes intentar usar el comando add-auto-load-safe-path en gdb para agregar la ruta de tus archivos fuente de glibc. Puedes hacer esto ejecutando el siguiente comando en tu terminal:

    echo "add-auto-load-safe-path /usr/src/glibc" >> ~/.gdbinit
    

    Reinicia vscode y vuelve a intentar depurar tu código. Esto permitirá que gdb encuentre el archivo fuente que falta.

    Si ninguna de estas soluciones funciona, por favor proporcione más información sobre su configuración y trataremos de ayudarlo más.

Comments are closed.