Files
elowdb-go/USAGE.md

6.1 KiB
Raw Permalink Blame History

Инструкция по использованию отладочных инструментов LineDB

🎯 Быстрый старт

1. Отладка в VS Code (рекомендуется)

  1. Откройте проект в VS Code
  2. Нажмите F5 или выберите "Run and Debug" в боковой панели
  3. Выберите одну из конфигураций:
    • 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 - Резюме оптимизаций

🚀 Советы по эффективной отладке

  1. Используйте VS Code для удобной отладки с графическим интерфейсом
  2. Устанавливайте точки останова в ключевых местах кода
  3. Изучите переменные во время отладки для понимания состояния
  4. Используйте логи для отслеживания выполнения
  5. Проверяйте кэш при проблемах с производительностью
  6. Очищайте данные между тестами с помощью make clean