3 puntos por GN⁺ 2024-11-16 | 1 comentarios | Compartir por WhatsApp
  • Introducción

    • Seer es un front-end GUI para gdb en Linux, con el objetivo de ofrecer una interfaz fácil de usar y visualmente agradable.
    • El proyecto sigue en desarrollo activo, y los errores o funciones deseadas pueden reportarse por correo electrónico o a través de la página del proyecto en GitHub.
  • Instalación

    • Seer puede instalarse desde un gestor de paquetes o desde el código fuente.
    • Requisitos

      • Se requiere Linux, C++17, gdb (con el intérprete mi), CMake (3.1.0 o superior) y QT6.
      • Es necesario instalar el paquete "devel" de QT6.
      • QT5 ya no es compatible, y la versión 2.3 es el último árbol de código fuente que lo soporta.
    • Instalar desde paquete

      • Puede instalarse con Pamac (Manjaro) y zypper (openSUSE Tumbleweed).
  • NOTICIAS

    • La información más reciente puede consultarse en la página Wiki de GitHub de Seer.
    • v1.17 es la última versión para Qt5, y la próxima versión será v2.0 basada en Qt6.
  • Resumen de la GUI

    • Vista principal

      • Proporciona listas de fuentes/funciones/tipos/variables/bibliotecas.
      • Muestra información de variables y registros.
      • Permite abrir y buscar archivos fuente desde el administrador de código.
      • Permite gestionar breakpoints, watchpoints, catchpoints y printpoints.
      • Proporciona información de stack frames e hilos.
      • Soporta el modo de depuración inversa de Gdb.
    • Diálogo de apertura

      • Describe el aspecto del cuadro de diálogo al abrir un ejecutable.
    • Consola de Seer

      • Toda la salida de texto del ejecutable se envía a la consola de Seer.
    • Vista de ensamblado

      • Puede mostrar código ensamblador en pestañas.
      • Es una función nueva, y se aceptan comentarios y sugerencias de funciones.
    • Visualizador de memoria

      • Visualiza el contenido bruto de la memoria.
    • Visualizador de arreglos

      • Visualiza el contenido de los arreglos como una gráfica X-Y.
    • Visualizador de structs

      • Visualiza el contenido de structs o clases de C/C++.
    • Visualizador de imágenes

      • Visualiza como imagen el contenido bruto de la memoria.
  • Iniciar Seer

    • Está diseñado para facilitar el inicio, desde la línea de comandos, del programa que se va a depurar.
    • Las distintas formas de ejecución pueden consultarse en la Wiki de GitHub.
  • Soporte/Contacto

    • Los errores o solicitudes de funciones pueden enviarse por correo electrónico o a través de la página del proyecto en GitHub.

1 comentarios

 
GN⁺ 2024-11-16
Comentarios de Hacker News
  • Tras usarlo con Godot y en Linux, la UI es compleja pero tiene funciones. Al intentar revisar valores de variables, aparecen errores o no pasa nada. Al hacer doble clic en una variable, su valor actual y una marca de tiempo se agregan al panel. Gede ofrece la UI más simple e intuitiva y, aunque tiene menos funciones, funciona bien sin errores

  • GDB incluye una interfaz de usuario de texto (TUI) integrada y es fácil de usar. También soporta interacción con el mouse

  • Después de probar varios frontends de GDB, la TUI es la mejor. La interfaz puede romperse cuando el programa genera salida, así que hace falta redibujar con Ctrl + L. Agregué layout src y set confirm off al archivo de configuración

  • Si te conectas desde Windows a Linux o usas WSL, puedes usar WinDBG/VisualStudio para depurar procesos de Linux de forma remota

  • Existen Qt UI for GDB y gdbgui, una UI basada en web. Siempre es bueno ver avances en las herramientas de depuración

  • DDD parecía magia la primera vez que lo vi. Todavía se sigue manteniendo

  • Para usuarios de Emacs, GUD ofrece una excelente integración con GDB

  • A veces uso GDB para investigar bugs en C o Ada, pero no es mi actividad principal. Por eso no invierto tiempo en configurar un entorno de depuración complejo. Uso Emacs y notas simples con instrucciones

  • Hace 10 años, cuando programaba C++ en Linux, usaba Qt Creator y su depurador integrado (frontend de GDB) funcionaba de maravilla. No había razón para usar otra cosa para C++ y Qt