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