Консоль
Консоль служит инструментом для переключения отладочных опций Sanny Builder. Многие из них относятся к возможностям дизассемблера и влияют на его работу.
Окно консоли открывается нажатием Ctrl+~
. Для запуска команды введите ее в верхнем поле и нажмите Enter
. Консоль покажет результат.
Доступные команды
Все команды являются регистронезависимыми.
help
– показать справку о консоли
clear
– очистить консоль
list
– показать список доступных команд
list options
– вывести все доступные отладочные опции
toggle <имя опции> [on/off]
– переключить отладочную опцию
Команда toggle
заканчивается либо словом ON
(опция будет включена), OFF
(опция будет выключена), или ни тем ни другим (опция будет переключена с ON
на OFF
или с OFF
на ON
).
Перед включением отладочных опций включите общий режим отладки командойtoggle debug_mode ON
Отладочные опции
CODE_OFFSETS
Дизассемблер выводит для каждой команды ее адрес в файле (смещение от начала).
VAR_COUNTER
После компиляции в консоли содержится список глобальных переменных, которые были использованы только один раз (неиспользуемые переменные, которые можно удалить или заменить на локальные переменные).
IGNORE_UNKNOWN
Дизассемблер игнорирует ошибки в исходном коде (неизвестные опкоды, неверные типы данных, нарушения формата файла). Это помогает открыть большинство скриптов, которые были скомпилированы некорректно.
CONSTANT_INDEXES
Выводит элементы массива как глобальные переменные с индексом. Доступно для режимов GTA SA
, LCS
, VCS
.
Например, если в исходном файл был массив из трех элементов, начинающийся с $10
, то при переключении этой опции переменные в дизассемблированном файле будут выглядеть следующим образом:
| С |
$10 | $10[0] |
$11 | $10[1] |
$12 | $10[2] |
SKIP_SCM_HEADER
Дизассемблер пропускает чтение заголовка .scm
файла. Это позволяет открывать скрипты в которых заголовка нет (например, скрипты из файла script.img
или CLEO скрипты).
Также при включении этой опции Sanny Builder компилирует .scm
файлы без заголовка (альтернативно использованию директивы {$EXTERNAL}
).
SKIP_EXTRA_INFO
Дизассемблер игнорирует секцию с дополнительной информацией в конце скрипта. Эта секция будет рассматриваться как набор SCM инструкций, поэтому рекомендуется дополнительно включить опцию IGNORE_UNKNOWN
.
Альтернативные способы включения
Sanny Builder предлагает несколько способов для переключения отладочных опций за пределами консоли. Эти способы могут быть полезны в определенных случаях.
Запуск с параметром --debug
debug
Запуск программы через командную строку с параметром --debug
является способом одновременно переключить несколько опций. Запустите sanny.exe
с параметром --debug X
, где X
это последовательность 0
и 1
. Каждая цифра в последовательности означает определенную опцию:
Индекс | Отладочная опция |
1 | CODE_OFFSETS |
2 | IGNORE_UNKNOWN |
3 | VAR_COUNTER |
4 | CONSTANT_INDEXES |
5 | SKIP_SCM_HEADER |
6 | SKIP_EXTRA_INFO |
Первая 1
включит опцию CODE_OFFSETS
, вторая 1
включит режим IGNORE_UNKNOWN
. Оставшиеся опции будут отключены.
Использование интерфейса программы
Клик по самой правой кнопке на панели инструментов открывает выпадающее меню со списком опций:
Каждый элемент списка переключает одну из опций. Изменение будет сразу доступно для использования.
Last updated