advpl-debugginglisted
Install: claude install-skill JoniPraia/plugadvpl
# advpl-debugging — Erros comuns e métodos de debug
Catálogo dos 30 erros mais frequentes em produção Protheus, organizados por **sintoma**
(o que aparece pro usuário ou no log) → **causa raiz** → **comando de diagnóstico** →
**fix típico**. Coberto em paralelo: ferramentas de debug do AppServer e métodos
manuais quando não dá pra anexar debugger.
## Como usar
1. Cole no chat o **traceback do AppServer.log** ou descreva o sintoma.
2. Procure pela seção que casa (Ctrl+F na tabela abaixo).
3. Para cada causa raiz há comando `plugadvpl` pra confirmar in-codebase.
4. Aplique o fix; valide com lint.
---
## Tabela rápida de sintomas → causa raiz
| Sintoma / Mensagem | Causa raiz | Diagnóstico |
|---|---|---|
| `Variable does not exist: NOME` | Local em escopo errado, ou Private declarada depois do uso | `plugadvpl arch <arq>` + lint BP-002 |
| `Type mismatch` em campo numérico após query | Falta `TCSetField` pós-BeginSql | `plugadvpl lint --regra PERF-003` |
| `RecLock failed` ou registro travado | RecLock anterior sem MsUnlock; outro processo travou | `plugadvpl lint --regra BP-001` |
| `Index out of range` em array | aSize/aDim divergente do esperado, ou índice 0 (ADVPL é 1-based) | Inspect via ConOut |
| Erro "Acesso à área inválida" | DbSelectArea sem fonte aberta, ou alias fechado antes do uso | `plugadvpl arch <arq>` |
| Pergunta SX1 não aparece | Grupo não cadastrado, ou idioma do MV_IDIOMA não tem entradas | `plugadvpl impacto <pergunta>` |
| Campo SX3 não aparece no