6.1 KiB
6.1 KiB
Инструкция по использованию отладочных инструментов LineDB
🎯 Быстрый старт
1. Отладка в VS Code (рекомендуется)
- Откройте проект в VS Code
- Нажмите
F5или выберите "Run and Debug" в боковой панели - Выберите одну из конфигураций:
- Debug LineDB Debug App - отладка основного приложения
- Debug LineDB Simple Test - отладка простого теста
- Debug LineDB Tests - отладка тестов
- Debug LineDB Example - отладка примера
2. Отладка через командную строку
# Отладка основного приложения
make debug-simple
# Отладка основного теста
make debug-main
# Отладка тестов
make debug-tests
# Отладка примера
make debug-example
3. Отладка через скрипт
# Отладка основного приложения
./debug.sh simple
# Отладка основного теста
./debug.sh main
# Отладка тестов
./debug.sh tests
# Отладка примера
./debug.sh example
📁 Файлы для отладки
debug_app.go
Основной файл для отладки с подробной информацией:
- Инициализация базы данных
- Вставка данных
- Чтение данных
- Фильтрация
- Обновление данных
- Подробные логи каждого шага
debug_main.go
Альтернативный тест с базовой функциональностью
simple.go
Простой тест для быстрой проверки
tests/linedb_test.go
Официальные тесты проекта
🔧 Команды отладки
VS Code
F5- Запуск отладкиF9- Установить/снять точку остановаF10- Следующая строка (Step Over)F11- Войти в функцию (Step Into)Shift+F11- Выйти из функции (Step Out)Ctrl+Shift+F5- Перезапуск отладкиShift+F5- Остановка отладки
Delve (dlv)
# Основные команды
break main.main # Точка останова в main
break pkg/linedb/line_db.go:30 # Точка останова на строке 30
continue # Продолжить выполнение
next # Следующая строка
step # Войти в функцию
print variable # Вывести значение переменной
vars # Показать все переменные
goroutines # Показать горутины
stack # Показать стек вызовов
quit # Выйти из отладчика
🎯 Ключевые точки останова
Рекомендуемые места для установки точек останова
// Инициализация базы данных
pkg/linedb/line_db.go:61
// Вставка данных
pkg/linedb/line_db.go:140
// Чтение данных
pkg/linedb/line_db.go:123
// Фильтрация
pkg/linedb/line_db.go:343
// Обновление данных
pkg/linedb/line_db.go:307
// Удаление данных
pkg/linedb/line_db.go:330
🐛 Отладка проблем
Программа зависает
# Проверьте кэш и очистите данные
make clean
make run-simple
Ошибки при работе с файлами
# Проверьте права доступа
ls -la testdata/
# Создайте папку заново
mkdir -p testdata
Ошибки кэша
# Проверьте размер кэша в коде
# Убедитесь, что TTL установлен корректно
📊 Мониторинг производительности
Проверка кэша
// В коде добавьте:
fmt.Printf("Cache size: %d\n", db.GetActualCacheSize())
fmt.Printf("Cache limit: %d\n", db.GetLimitCacheSize())
Проверка памяти
# Запустите с профилированием
go run -memprofile=mem.prof debug_app.go
go tool pprof mem.prof
🔍 Полезные команды
Makefile
make help # Показать все команды
make clean # Очистить данные
make build # Собрать проект
make test # Запустить тесты
make lint # Проверить код
make fmt # Форматировать код
Скрипт отладки
./debug.sh # Показать справку
./debug.sh simple # Отладка основного приложения
./debug.sh main # Отладка основного теста
./debug.sh tests # Отладка тестов
./debug.sh example # Отладка примера
📖 Дополнительная документация
DEBUG.md- Полная документация по отладкеQUICK_DEBUG.md- Краткая инструкцияOPTIMIZATION_SUMMARY.md- Резюме оптимизаций
🚀 Советы по эффективной отладке
- Используйте VS Code для удобной отладки с графическим интерфейсом
- Устанавливайте точки останова в ключевых местах кода
- Изучите переменные во время отладки для понимания состояния
- Используйте логи для отслеживания выполнения
- Проверяйте кэш при проблемах с производительностью
- Очищайте данные между тестами с помощью
make clean