Навыки debugging-strategies
📦

debugging-strategies

Безопасно

Применяйте систематические стратегии отладки

Отладка сложных программных проблем часто кажется случайной и разочаровывающей. Этот навык предоставляет систематические методы отладки, инструменты профилирования и методы анализа первопричин, которые превращают устранение неполадок в методичный процесс.

Поддерживает: Claude Codex Code(CC)
📊 69 Адекватно
1

Скачать ZIP навыка

2

Загрузить в Claude

Перейдите в Settings → Capabilities → Skills → Upload skill

3

Включите и начните использовать

Протестировать

Использование «debugging-strategies». My Node.js API returns 500 errors intermittently. The error says 'Cannot read property of undefined' but I cannot find where this happens.

Ожидаемый результат:

Let me apply systematic debugging to find this undefined property issue.

## Step 1: Reproduce and Observe
- When does the error occur? Always or randomly?
- Which API endpoint triggers it?
- What request parameters are sent?

## Step 2: Gather Information
1. Add strategic logging before the likely crash point:
```javascript
console.log('Order data:', JSON.stringify(order, null, 2));
```
2. Check which property might be undefined:
```javascript
console.log('Items:', order?.items);
console.log('User:', order?.user?.name);
```

## Step 3: Hypothesis
Hypothesis: The error likely occurs when:
- order.items is undefined for certain request types
- order.user is null for guest users

## Step 4: Test and Verify
Add null checks and verify with sample requests:
```javascript
const items = order?.items ?? [];
const userName = order?.user?.name ?? 'Guest';
```

Would you like me to help you implement this fix?

Использование «debugging-strategies». Help me debug a memory leak in my React application.

Ожидаемый результат:

Let me guide you through debugging a React memory leak systematically.

## Reproduction Phase
1. Open Chrome DevTools > Memory tab
2. Take a heap snapshot (before)
3. Perform the suspected leaky action 10-20 times
4. Take another snapshot (after)
5. Compare snapshots to identify retained objects

## Common React Memory Leak Patterns
1. Unsubscribed event listeners
2. Timers (setInterval) not cleared in useEffect cleanup
3. Closures holding references to component scope
4. Global caches growing unbounded

## Quick Debugging Steps
```javascript
useEffect(() => {
const timer = setInterval(() => {
// ...
}, 1000);

// Cleanup function - CRITICAL for preventing leaks
return () => {
clearInterval(timer);
// Remove any subscriptions
};
}, []);
```

What symptoms are you seeing? High memory in DevTools or actual crashes?

Аудит безопасности

Безопасно
v5 • 1/21/2026

Static analysis detected 54 potential issues, all confirmed as false positives. The 'scripts' patterns are Go import statements in code examples. 'External_commands' are markdown backticks used for code formatting. 'Weak cryptographic algorithm' flags are triggered by Go standard library package names (crypto/pprof). 'Network' URLs are GitHub source URLs and localhost debugging endpoints. All findings are legitimate documentation content with no security concerns.

2
Просканировано файлов
1,137
Проанализировано строк
0
находки
5
Всего аудитов
Проблем безопасности не найдено

Оценка качества

38
Архитектура
100
Сопровождаемость
87
Контент
21
Сообщество
100
Безопасность
87
Соответствие спецификации

Что вы можете построить

Исправление elusive production bugs

Применяйте систематические методы отладки для обнаружения трудно воспроизводимых проблем в производственных средах с использованием логирования, анализа трассировок стека и дифференциальной отладки.

Оптимизация производительности медленных приложений

Используйте инструменты и методы профилирования для выявления узких мест производительности, утечек памяти и неэффективных паттернов кода в приложениях JavaScript, Python и Go.

Изучение структурированных подходов к отладке

Освойте научный метод отладки, отладку с резиновой уточкой и систематическую изоляцию проблем, чтобы стать более эффективным в устранении любых проблем с кодом.

Попробуйте эти промпты

Отладка конкретной ошибки
Я вижу эту ошибку в своем приложении: [вставьте сообщение об ошибке и трассировку стека]. Примените систематические методы отладки, чтобы помочь мне определить первопричину. Пройдитесь по научному методу: наблюдение, гипотеза, эксперимент, анализ.
Профилирование узкого места производительности
Моё [тип приложения] приложение работает медленно. Помогите мне использовать инструменты профилирования для выявления узкого места. Включите пошаговые инструкции по использованию [Chrome DevTools / cProfile / pprof] для поиска места, где тратится время.
Отладка состояния гонки
У меня есть периодическая ошибка, которая возникает только иногда и, похоже, связана с асинхронными операциями. Проведите меня через отладку состояний гонки с использованием трассировочного логирования и анализа времени.
Использование git bisect для регрессии
Ошибка появилась между рабочей версией [версия A] и текущей версией [версия B]. Проведите меня через использование git bisect для поиска точного коммита, который внёс регрессию.

Лучшие практики

  • Воспроизводите ошибку последовательно перед попыткой исправления. Без последовательного воспроизведения вы не сможете проверить своё решение.
  • Изолируйте проблему, удаляя не связанный код. Создайте минимальный воспроизводимый случай, демонстрирующий проблему.
  • Используйте отладчик, а не только console.log. Точки останова позволяют вам проверять состояние программы в любой точке.

Избегать

  • Внесение нескольких изменений одновременно. Изменяйте только одну вещь за раз, чтобы понять, что именно исправляет проблему.
  • Игнорирование сообщений об ошибках или неполное чтение трассировки стека. Сообщение об ошибке и трассировка стека содержат ценные подсказки.
  • Предположение, что ошибка в чужом коде. Большинство ошибок находятся в ваших собственных недавних изменениях, а не в сторонних библиотеках.

Часто задаваемые вопросы

Что такое научный метод отладки?
Научный метод отладки включает: (1) Наблюдайте за фактическим поведением и ошибкой, (2) Сформулируйте гипотезу о том, что её вызывает, (3) Спроектируйте и проведите эксперимент для проверки гипотезы, (4) Проанализируйте, подтверждают ли результаты вашу теорию или опровергают её, (5) Повторите с новой гипотезой, пока не найдёте первопричину.
Как безопасно отлаживать производственные проблемы?
Никогда не изменяйте производственный код напрямую. Вместо этого: (1) Добавьте логирование для получения большей информации, (2) Используйте функциональные флаги для тестирования исправлений, (3) Сначала разверните в staging для проверки, (4) Используйте инструменты отслеживания ошибок, такие как Sentry, (5) Работайте с анонимизированными производственными данными локально.
Что такое отладка методом бинарного поиска?
Отладка методом бинарного поиска сужает проблемный код, многократно уполовинивая пространство поиска. Закомментируйте половину кода, чтобы увидеть, возникает ли ошибка. Продолжайте сужать, пока не определите точную строку или раздел, вызывающий проблему.
Как отлаживать периодические ошибки?
Периодические ошибки требуют обширного логирования и захвата состояния. Добавьте подробные логи, показывающие время, входные данные и переходы состояния. Ищите паттерны в том, когда возникает ошибка. Проверяйте состояния гонки в асинхронном коде и зависимости от времени.
Что такое отладка с резиновой уточкой?
Отладка с резиновой уточкой — это объяснение вашего кода и проблемы вслух, строка за строкой, резиновой утке или коллеге. Процесс формулирования проблемы часто раскрывает её. Это заставляет вас замедлиться и продумать каждый шаг.
Как использовать git bisect для поиска коммита, который внёс ошибку?
Git bisect автоматизирует поиск коммита, который внёс ошибку. Запустите 'git bisect start', отметьте известный рабочий коммит с помощью 'git bisect good <commit>', отметьте известный ошибочный коммит с помощью 'git bisect bad <commit>'. Git будет делать checkout коммитов посередине для вас, чтобы вы протестировали. Отмечайте каждый как 'good' или 'bad', пока не найдёте точный коммит.

Сведения для разработчиков

Автор

wshobson

Лицензия

MIT

Ссылка

main

Структура файлов

📄 SKILL.md