Pular para o conteúdo
Skillpedia
Testes48 mil · #3089

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/gdb-cli/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/gdb-cli/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-cli

Ou 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.md
Conteú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:

  1. Extrair informações do frame: {file}:{line} in {function}
  2. Ler contexto da fonte: Obter ±20 linhas ao redor do ponto de crash
  3. Obter variáveis locais: gdb-cli locals-cmd -s $SESSION --frame <N>
  4. 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_lock no 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 --range para paginação em contagens de threads grandes ou backtraces profundos
  • Use ptype para 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

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3089
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas