3 pontos por GN⁺ 2024-11-16 | 1 comentários | Compartilhar no WhatsApp
  • Introdução

    • Seer é um frontend GUI para o gdb no Linux, com o objetivo de oferecer uma interface fácil de usar e visualmente agradável.
    • O projeto está em desenvolvimento ativo, e bugs ou funcionalidades desejadas podem ser reportados por e-mail ou pela página do projeto no GitHub.
  • Instalação

    • O Seer pode ser instalado por gerenciador de pacotes ou a partir do código-fonte.
    • Requisitos

      • Linux, C++17, gdb (com interpretador mi), CMake (3.1.0 ou superior) e QT6 são necessários.
      • É necessário instalar o pacote "devel" do QT6.
      • O QT5 não é mais suportado, e a versão 2.3 é a última árvore de código-fonte que o suporta.
    • Instalar por pacote

      • Pode ser instalado com Pamac (Manjaro) e zypper (openSUSE Tumbleweed).
  • NEWS

    • As informações mais recentes podem ser consultadas na página Wiki do GitHub do Seer.
    • A v1.17 é a última release com Qt5, e a próxima release será a v2.0 baseada em Qt6.
  • Visão geral da GUI

    • Tela principal

      • Fornece listas de código-fonte/funções/tipos/variáveis/bibliotecas.
      • Exibe informações de variáveis e registradores.
      • Permite abrir e pesquisar arquivos-fonte no gerenciador de código.
      • Permite gerenciar breakpoints, watchpoints, catchpoints e printpoints.
      • Fornece informações de stack frames e threads.
      • Suporta o modo de depuração reversa do gdb.
    • Diálogo de abertura

      • Descreve a aparência da caixa de diálogo ao abrir um executável.
    • Console do Seer

      • Toda a saída de texto do executável é direcionada para o console do Seer.
    • Visão de assembly

      • O código assembly pode ser exibido em abas.
      • É um recurso novo, e feedback e sugestões de funcionalidades são bem-vindos.
    • Visualizador de memória

      • Visualiza o conteúdo bruto da memória.
    • Visualizador de arrays

      • Visualiza o conteúdo de arrays em um gráfico X-Y.
    • Visualizador de structs

      • Visualiza o conteúdo de structs ou classes em C/C++.
    • Visualizador de imagens

      • Visualiza o conteúdo bruto da memória como imagem.
  • Iniciando o Seer

    • Foi projetado para facilitar o início de programas para depuração pela linha de comando.
    • Diferentes formas de execução podem ser consultadas na Wiki do GitHub.
  • Suporte/Contato

    • Bugs ou solicitações de funcionalidades podem ser enviados por e-mail ou pela página do projeto no GitHub.

1 comentários

 
GN⁺ 2024-11-16
Comentários do Hacker News
  • Depois de usar com Godot e no Linux, a UI é complexa, mas tem recursos. Ao tentar inspecionar valores de variáveis, ocorrem erros ou simplesmente nada acontece. Ao dar duplo clique em uma variável, o valor atual e o timestamp são adicionados a um painel. O Gede oferece a UI mais simples e intuitiva e, embora tenha menos recursos, funciona bem sem bugs

  • O GDB tem uma interface de usuário em modo texto (TUI) embutida e é fácil de usar. Também oferece suporte à interação com mouse

  • Depois de experimentar vários frontends para GDB, a TUI é a melhor. Quando o programa gera saída, a interface pode se corromper, então pode ser necessário redesenhar com Ctrl + L. Adiciono layout src e set confirm off ao arquivo de configuração

  • Ao se conectar do Windows ao Linux ou ao usar WSL, é possível usar WinDBG/VisualStudio para depurar remotamente processos Linux

  • Existem a Qt UI for GDB e a interface web gdbgui. É sempre bom ver a evolução das ferramentas de depuração

  • Quando vi o DDD pela primeira vez, pareceu magia. Ele ainda continua sendo mantido

  • Para usuários de Emacs, o GUD oferece uma excelente integração com o GDB

  • Às vezes uso o GDB para investigar bugs em C ou Ada, mas isso não é minha atividade principal. Por isso, não invisto tempo em configurar um ambiente de depuração complexo. Uso Emacs e algumas notas simples de orientação

  • Há 10 anos, quando programava em C++ no Linux, eu usava o Qt Creator, e o depurador embutido (frontend do GDB) funcionava muito bem. Para C++ e Qt, não vejo motivo para usar outra coisa