#!/bin/bash # Скрипт для отладки LineDB echo "LineDB Debug Script" echo "===================" echo "" # Проверяем, установлен ли Delve if ! command -v dlv &> /dev/null; then echo "Delve не установлен. Устанавливаем..." go install github.com/go-delve/delve/cmd/dlv@latest fi # Функция для отладки простого теста debug_simple() { echo "Запуск отладки простого теста..." dlv debug debug_app.go } # Функция для отладки основного теста debug_main() { echo "Запуск отладки основного теста..." dlv debug debug_main.go } # Функция для отладки тестов debug_tests() { echo "Запуск отладки тестов..." dlv test ./tests/... -- -v } # Функция для отладки примера debug_example() { echo "Запуск отладки примера..." dlv debug examples/basic/main.go } # Функция для отладки с аргументами debug_with_args() { echo "Запуск отладки с аргументами..." dlv debug simple.go -- --arg1 --arg2 } # Функция для отладки с переменными окружения debug_with_env() { echo "Запуск отладки с переменными окружения..." DEBUG=true dlv debug simple.go } # Главное меню case "$1" in "simple") debug_simple ;; "main") debug_main ;; "tests") debug_tests ;; "example") debug_example ;; "args") debug_with_args ;; "env") debug_with_env ;; *) echo "Использование: $0 {simple|main|tests|example|args|env}" echo "" echo "Опции:" echo " simple - Отладка простого теста (debug_app.go)" echo " main - Отладка основного теста (debug_main.go)" echo " tests - Отладка тестов" echo " example - Отладка примера" echo " args - Отладка с аргументами" echo " env - Отладка с переменными окружения" echo "" echo "Примеры команд Delve:" echo " break main.main - Установить точку останова в main" echo " break pkg/linedb/line_db.go:30 - Установить точку останова на строке 30" echo " continue - Продолжить выполнение" echo " next - Следующая строка" echo " step - Войти в функцию" echo " print variable - Вывести значение переменной" echo " vars - Показать все переменные" echo " goroutines - Показать горутины" echo " stack - Показать стек вызовов" ;; esac