Отладчик 2.0beta
Автор: werewolf   
05.04.2010 13:34

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

Библиотечка была обновлена до версии 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 (название переменной) - загрузка кода из переменной, если переменная не указана загружается автосохранение


Вложения:
Скачать этот файл (debugger2beta.zip)debugger2beta.zip[ ]14 Kb17.09.2011 19:21