Cómo crear un backtrace útil en Linux

Síntomas

Cuando se trabaja en Linux, a veces puede suceder que BricsCAD se bloquee y desaparezca repentinamente.

Cuando se ejecuta BricsCAD desde la Terminal, se imprime un breve mensaje de error (a menudo será "Error de segmentación" ), pero esto no proporciona información útil sobre por qué ocurre el bloqueo.

En este caso, un backtrace (rastreo de pila) se vuelve muy útil para que el equipo de soporte técnico identifique la causa del bloqueo. Muestra la pila actual de llamadas a funciones anidadas en el momento del bloqueo.

Causa

BricsCAD se bloquea sin información útil sobre el bloqueo.

Soluciones

Para obtener el backtrace, siga estos pasos:
  1. En una instancia de Terminal, ejecute BricsCAD dentro de gdb con el siguiente comando:
    LD_LIBRARY_PATH=/opt/bricsys/bricscad/vXX GDK_BACKEND=x11 QT_QPA_PLATFORM=xcb gdb 
    /opt/bricsys/bricscad/vXX/bricscad
    Note: vXX será reemplazado con el número de versión principal de BricsCAD, por ejemplo V24.
  2. En la ventana, escriba run y presione Enter para iniciar el programa.
  3. Reproducir el choque. Después de fallar, la ventana de BricsCAD simplemente se congela, pero no desaparece.
  4. Vuelva a la Terminal, escriba bt y presione Enter para obtener un seguimiento.

    Si bt no funciona, significa que BricsCAD podría estar colgando en lugar de bloquearse. En ese caso, presione CTRL+C para pausar BricsCAD, luego bt debería funcionar.

    El backtrace completo podría no caber en la pantalla. En ese caso, la última línea dice así:
    ---Escriba  < return >  para continuar, o q < return > para salir---
  5. Copie la parte relevante del seguimiento en un editor de texto y adjúntelo a una solicitud de soporte, o publíquelo directamente en la solicitud de soporte.
  6. Escriba q y presione Enter en la ventana Terminal.
  7. Escribe y y presiona Enter para confirmar.