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