Позволяет в любое время выполнить произвольный кусок кода или просмотреть значения переменных из указанного списка. Библиотечка была обновлена до версии 2.0beta
Порядок использования:
- Распаковать архив в папку с игрой
- Добавить в первую локацию команду: addqst 'lib/debugger.qsp', для загрузки отладчика
- Включить отладочный режим: debug = 1, для плеера
- Добавить команду: gs 'debugger_init', для включения отладчика
Основным недостатком первой версии было то, что команды можно было вводить только через строку ввода. Вызов команд из кода был затруднен, и создание новых команд требовало знания структуры и принципа отладчика. Кроме того у части команд был не совсем удобный вызов. В новой версии я постарался решить все эти проблемы.
Для этого были сделаны следующие изменения:
- добавлена возможность вызвать команду отладчика из кода (в предыдущей версии вызов команды был тесно связан с строкой ввода и сделать это было довольно проблематично)
например: gs 'debugger_process', 'addvar test' - обавлена возможность ввести несколько команд одновреммено разделив их & (в предыдущей версии была бы отработана только первая команда)
например: addVar test & test = 3 & shovVars - добавлена возможность ввода << и >> (в предыдущей версии были проблемы с отображением и обработкой)
- добавлена возможность запланировать выполнение команды отладчика - для этого необходимо добавить перед командой >
например: >showVars gs 'test_loc' >showVars здесь команды showVars будут выполнены не сразу после ввода, а только когда код будет запущен через run - в addVar и delVar теперь можно передавать несколько имен переменных разделенных пробелом
например: addvar test[0] test[3] $test - в run вторым параметром можно передать название переменной с кодом для выполнения (похоже на вызов load $var & run, только код не загружается в список команд)
- добавлена команда clearVars для очистки списка переменных
- добавлены команды для отслеживания логических выражений addCond, delCond, showCond, clearCond (об этом писал на форуме invertercant)
например: addcond test1 > test2 & showcond - в help вторым параметром можно передать название команды для просмотра информации по ней
- добавлены команды createCommand, loadCommand, updateCommand и deleteCommand для создания пользовательских команд
все параметры переданные после названия команды доступны в массиве $debugger_args в принципе с помощью createCommand можно перегрузить любую команду отладчика, но пользоваться этой возможностью нужно с осторожностью - добавлен "визуальный" режим для тех, кто не хочет учить команды:)
для его использования при вызове debugger_init первым параметром передайте 1 в локацию-обработчик выбора предмета добавьте if $selobj = 'Отладчик': menu '$visual_main'
При запущенной игре, команды передаются через строку ввода. Первой стоит запустить команду: help У команд в фигурных скобках указаны обязательные параметры, а в круглых необязательные.
Основные команды и настройки
- debugger {0 | 1} - Включение/отключение отладчика
- showMode {msg | pl | p | *pl | *p} - изменение режима вывода информации, по умолчанию msg
- autoShow {0 | 1} (msg | pl | p | *pl | *p) - Включение/отключение автоматического показа кода после каждого изменения, с помощью третьего аргумента можно изменить режим вывода
- help (название команды) - список команд или информация об определенной команде
Список переменных для вывода
- addVar {название переменной} - добавление переменной в список отображения (можно указывать несколько переменных через пробел)
- delVar {название переменной} - удаление переменной из списка отображения (можно указывать несколько переменных через пробел)
- showVars - отображение списка переменных, зависит от режима вывода информации
- clearVars - очистка списка переменных
Список логических выражений для вывода
- addCond {название переменной} - добавление логического выражения в список отображения
- delCond {название переменной} - удаление логического выражения из списка отображения
- showCond - отображение списка логических выражений, зависит от режима вывода информации
- clearCond - очистка списка логических выражений
Отладочный кусочек кода
- run (название переменной) - Выполнение набраного кода(по умолчанию после выполнения код очищается) или кода из определенной переменной
- clearCode - Очистка набранного кода, по умолчанию вызывается при каждом выполнении кода
- show - Отображение введенного кода, отображение зависит от режима, по умолчанию происходит очистка окна отображения, если не используется msg
- edit {номер строки} {строка кода} - замена строки с определенным номером
- delete {номер строки} - удаление строки с определенным номером
- delete {номер строки}-{номер строки} - удаление группы строк
- insert {строка кода} - вставка кода в начало
- insert {номер строки} {строка кода} - вставка кода после определенной строки
Сохранение и запись отладочного кода
- save (название переменной) - сохранение кода в переменную, если переменная не указана, выполняется автосохранение, по умолчанию автосохранение выполняется при каждом выполнении кода до его очистки
- load (название переменной) - загрузка кода из переменной, если переменная не указана загружается автосохранение
|