gdb-cli
Ajuda seu agente a depurar código e analisar falhas. Permite investigar erros em tempo real ou em arquivos de 'core dump'. É útil para encontrar e corrigir bugs.
O que ela faz
Ajuda a encontrar e corrigir erros em programas de computador escritos em C/C++. Ele analisa o estado do programa quando ele falha ou trava, comparando com o código-fonte para entender o que aconteceu.
Quando usar
- ✓Quando um programa trava e você tem um arquivo de 'crash dump'.
- ✓Quando um programa está rodando e não responde (travado).
- ✓Para entender por que um programa travou ou está usando muita memória.
Exemplo do que pedir para a IA
“Analise o crash dump do meu programa 'meu_app' que está em '/tmp/core.1234' e me diga onde está o erro.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele usa uma ferramenta chamada GDB para examinar o estado do programa no momento da falha. Depois, ele compara as informações encontradas com o código-fonte do programa para te dar uma explicação clara do problema.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill gdb-cliOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/gdb-cli/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Assistente de Debug do GDB
Visão Geral
Uma habilidade de depuração do GDB projetada para agentes de IA. Combina análise de código-fonte com inspeção de estado em tempo de execução usando gdb-cli para fornecer assistência de depuração inteligente para programas C/C++.
Quando Usar Esta Habilidade
- Analisar core dumps ou crash dumps
- Depurar processos em execução com attach do GDB
- Investigar crashes, deadlocks ou problemas de memória
- Obter assistência de depuração inteligente com contexto de código-fonte
- Depurar aplicações multithread
Não Use Esta Habilidade Quando
- A tarefa não estiver relacionada à depuração de C/C++
- O usuário precisar de assistência de propósito geral sem depuração
- Não houver GDB disponível (requer GDB 9.0+ com suporte a Python)
Pré-requisitos
# Install gdb-cli
pip install gdb-cli
# Or from GitHub
pip install git+https://github.com/Cerdore/gdb-cli.git
# Verify GDB has Python support
gdb -nx -q -batch -ex "python print('OK')"
Requisitos:
- Python 3.6.8+
- GDB 9.0+ com suporte a Python habilitado
- Sistema Operacional Linux
Como Funciona
Passo 1: Inicializar Sessão de Depuração
Para análise de core dump:
gdb-cli load --binary <binary_path> --core <core_path> [--gdb-path <gdb_path>]
Para depuração de processo em tempo real:
gdb-cli attach --pid <pid> [--binary <binary_path>]
Saída: Um session_id como "session_id": "a1b2c3". Armazene-o para comandos subsequentes.
Passo 2: Coletar Informações Iniciais
SESSION="<session_id>"
# List all threads
gdb-cli threads -s $SESSION
# Get backtrace (with local variables)
gdb-cli bt -s $SESSION --full
# Get registers
gdb-cli registers -s $SESSION
Passo 3: Correlacionar Código-Fonte (CRÍTICO)
Para cada frame no backtrace:
- Extrair informações do frame:
{file}:{line} in {function} - Ler contexto da fonte: Obter ±20 linhas ao redor do ponto de crash
- Obter variáveis locais:
gdb-cli locals-cmd -s $SESSION --frame <N> - Analisar: Correlacionar a lógica do código com os valores das variáveis
Exemplo de correlação:
Frame #0: process_data() at src/worker.c:87
Source code shows:
85: Node* node = get_node(id);
86: if (node == NULL) return;
87: node->data = value; <- Crash here
Variables show:
node = 0x0 (NULL)
Analysis: The NULL check on line 86 didn't catch the issue.
Passo 4: Investigação Profunda
# Examine variables
gdb-cli eval-cmd -s $SESSION "variable_name"
gdb-cli eval-cmd -s $SESSION "ptr->field"
gdb-cli ptype -s $SESSION "struct_name"
# Memory inspection
gdb-cli memory -s $SESSION "0x7fffffffe000" --size 64
# Disassembly
gdb-cli disasm -s $SESSION --count 20
# Check all threads (for deadlock analysis)
gdb-cli thread-apply -s $SESSION bt --all
# View shared libraries
gdb-cli sharedlibs -s $SESSION
Passo 5: Gerenciamento de Sessão
# List active sessions
gdb-cli sessions
# Check session status
gdb-cli status -s $SESSION
# Stop session (cleanup)
gdb-cli stop -s $SESSION
Padrões Comuns de Depuração
Padrão: Desreferenciamento de Ponteiro Nulo
Indicadores:
- Crash em instrução de acesso à memória
- Variável ponteiro é 0x0
Investigação:
gdb-cli registers -s $SESSION # Check RIP
gdb-cli eval-cmd -s $SESSION "ptr" # Check pointer value
Padrão: Deadlock
Indicadores:
- Múltiplas threads presas em funções de lock
pthread_mutex_lockno backtrace
Investigação:
gdb-cli thread-apply -s $SESSION bt --all
# Look for circular wait patterns
Padrão: Corrupção de Memória
Indicadores:
- Crash em malloc/free
- Valores lixo em variáveis
Investigação:
gdb-cli memory -s $SESSION "&variable" --size 128
gdb-cli registers -s $SESSION
Exemplos
Exemplo 1: Análise de Core Dump
# Load core dump
gdb-cli load --binary ./myapp --core /tmp/core.1234
# Get crash location
gdb-cli bt -s a1b2c3 --full
# Examine crash frame
gdb-cli locals-cmd -s a1b2c3 --frame 0
Exemplo 2: Depuração de Processo em Tempo Real
# Attach to stuck server
gdb-cli attach --pid 12345
# Check all threads
gdb-cli threads -s b2c3d4
# Get all backtraces
gdb-cli thread-apply -s b2c3d4 bt --all
Melhores Práticas
- Sempre leia o código-fonte antes de tirar conclusões dos valores das variáveis
- Use
--rangepara paginação em contagens de threads grandes ou backtraces profundos - Use
ptypepara entender estruturas de dados complexas antes de examinar valores - Verifique todas as threads para problemas multithread
- Cruze referências de tipos com definições de código-fonte
Notas de Segurança e Proteção
- Esta habilidade requer acesso GDB a processos e core dumps
…
Perguntas frequentes
Preciso instalar algo?
Sim, você precisa ter o GDB (uma ferramenta de depuração) instalado e também a ferramenta gdb-cli, que é um complemento para o GDB.
Funciona para qualquer linguagem de programação?
Não, esta ferramenta é específica para programas escritos em C e C++.
O que é um 'crash dump'?
É um arquivo que o sistema cria automaticamente quando um programa trava, contendo informações sobre o estado do programa naquele momento.
Detalhes
Descrição original do autor
GDB debugging assistant for AI agents - analyze core dumps, debug live processes, investigate crashes and deadlocks with source code correlation
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3089
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC