Предупреждение о рисках!
Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.
Debug Pro — это системный подход к отладке и набор команд для разных языков программирования, позволяющий последовательно находить, проверять и устранять ошибки в коде.
7-шаговый протокол отладки
- Воспроизведение (Reproduce) — добейтесь стабильного воспроизведения ошибки. Зафиксируйте точные шаги, входные данные и окружение.
- Изоляция (Isolate) — сузьте область поиска. Комментируйте код, применяйте бинарный поиск, проверяйте последние коммиты через
git bisect. - Гипотеза (Hypothesize) — сформулируйте конкретную и проверяемую причину проблемы.
- Инструментирование (Instrument) — добавьте логирование, точки останова или проверки.
- Проверка (Verify) — подтвердите причину. Если гипотеза неверна — вернитесь к предыдущему шагу.
- Исправление (Fix) — внесите минимально необходимое изменение. Не рефакторите код в процессе отладки.
- Регрессионный тест (Regression Test) — добавьте тест, который ловит эту ошибку, и убедитесь, что он проходит.
Отладка для разных языков
JavaScript / TypeScript
# Отладчик Node.js
node --inspect-brk app.js
# Chrome DevTools
chrome://inspect
# Логирование
console.log(JSON.stringify(obj, null, 2))
console.trace('Call stack here')
console.time('perf');
/* code */
console.timeEnd('perf')
# Утечки памяти
node --expose-gc --max-old-space-size=4096 app.js
Python
# Встроенный отладчик
python -m pdb script.py
# Точка останова (Python 3.7+)
breakpoint()
# Трассировка памяти
python -X tracemalloc script.py
# Профилирование
python -m cProfile -s cumulative script.py
Swift
# LLDB
lldb ./MyApp
(lldb) breakpoint set --name main
(lldb) run
(lldb) po myVariable
# Xcode
Product → Profile (Instruments)
CSS / Layout
/* Подсветка всех элементов */
* {
outline: 1px solid red !important;
}
/* Отладка конкретного элемента */
.debug {
background: rgba(255,0,0,0.1) !important;
}
Сеть (Network)
# HTTP
curl -v https://api.example.com/endpoint
curl -w "@curl-format.txt" -o /dev/null -s https://example.com
# DNS
dig example.com
nslookup example.com
# Порты
lsof -i :3000
netstat -tlnp
Git Bisect
git bisect start
git bisect bad
git bisect good abc1234
# Тестируйте коммит и отмечайте
git bisect good
# или
git bisect bad
git bisect reset
Типичные ошибки и причины
| Ошибка | Причина | Решение |
|---|---|---|
| Cannot read property of undefined | Нет проверки на null или неверная структура данных | Добавить optional chaining (?.) или валидацию |
| ENOENT | Файл или директория не существует | Проверить путь, создать директорию |
| CORS error | Отсутствуют заголовки CORS | Добавить middleware с корректными origin |
| Module not found | Нет зависимости или неверный путь | Установить пакет, проверить конфиг |
| Hydration mismatch | Разный HTML на сервере и клиенте | Синхронизировать рендеринг |
| Segmentation fault | Ошибки памяти | Проверить указатели и границы |
| Connection refused | Сервис не запущен | Проверить порт и статус сервиса |
| Permission denied | Нет прав доступа | Проверить chmod, firewall, sudo |
Быстрые диагностические команды
# Что использует порт
lsof -i :PORT
# Процесс
ps aux | grep PROCESS
# Отслеживание файлов
fswatch -r ./src
# Диск
df -h
# Нагрузка системы
top -l 1 | head -10
Файл из источника