You are not logged in.
Pages: 1
Скажите пожалуйста, ребята, как им правильно пользоваться? Хотел найти участок кода, служащий причиной вылета. Вставляю фрагмент получившегося:
...
0090=if
0091=fi
0092=if
0093=fi
0096=f
0097=f
009A=imfffi
00A0=ifff
00A1=ifff
00A3=iffffi
00A4=iffffffi
00A5=mfffi
00A7=ifff
00AA=ifff
00AB=ifff
00AD=if
Здесь конец
А где именно произошла ошибка? Это написаны опкоды, которые как-то некорректно сработали?
Offline
Присоединяюсь к вопросу, хочется знать причину вылета.
Offline
Установка плагина проста – для этого нужно скопировать файлы scmlog.ini и scmlog.cleo в папку CLEO. Если плагин установлен, то после выхода из игры (или вылета при ошибке) в папке CLEO будет создан файл scmlog.txt, в котором будет приведён список опкодов (лог), выполненных всеми установленными скриптами. Если игра вылетела, то последним в логе будет указан опкод, при выполнении которого возникла ошибка (название скрипта тоже будет указано).
Last edited by Den_spb (23-03-2010 18:14)
Offline
У меня игры вылетают, но создается все равно этот непонятный текст и список каких-то опкодов.
Offline
Игра вылетает, открываешь scmlog, ищешь подозреваемый поток, идёшь в конец описания потока, последний опкод - тот, на котором вылетела игра. Там же и значения аргументов.
Offline
У меня игры вылетают, но создается все равно этот непонятный текст и список каких-то опкодов.
Ты привёл текст файла scmlog.ini, а лог записывается в файл scmlog.txt (если этот файл не существует, то он должен создаваться сам после завершения игры). Текст лога разбит на секции следующего вида:
********************************************
thread магнит
Local variables dump:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
********************************************
00000024: 00D6
get numeric params: 1
param 1 = 21
00000028: 00DD
get numeric params: 2
param 1 = 516
param 2 = 417
00000036: 00DD
get numeric params: 2
param 1 = 516
param 2 = 548
00000044: 004D (&IFresult = False)
get numeric params: 1
param 1 = -58 (&label: 0002)
00000058: 0002
get numeric params: 1
param 1 = -20 (&label: 0001)
00000020: 0001
get numeric params: 1
param 1 = 0Здесь thread - название потока, Local variables dump - значения локальных переменных, далее идёт список выполненных опкодов со значениями параметров. Секции записываются в файл в том же порядке, в каком выполнялись потоки. Поэтому чтобы узнать название потока и опкод, на котором произошёл вылет, нужно просто посмотреть конец файла. Пример:
********************************************
thread Т тип м
Local variables dump:
7428 243333888 6 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
********************************************
00000008: 00D6
get numeric params: 1
param 1 = 0
00000012: 0256
get numeric params: 1
param 1 = 0
00000017: 004D (&IFresult = True)
get numeric params: 1
param 1 = -104 (&label: 0002)
00000024: 00D6
get numeric params: 1
param 1 = 0
00000028: 00DF
get numeric params: 1
param 1 = 516
*********************************
> Total opcodes: 3621765
> Logging finished: 21:38:21
Powered by SCMLog v1.04
*********************************Игра вылетела во время выполнения опкода 00DF в потоке, название которого начинается с букв Т тип м
Offline
Pages: 1