PDA

Просмотр полной версии : [Вопрос] Краш-призрак



Josan_Solomon
25.08.2018, 05:43
Hello, World! У меня крашится сервер и я знаю в каком блоке кода это происходит (блок примерно на 150 строк, поэтому не буду сюда его вставлять чтобы вас не мучить). При этом crashinfo.txt не появляется, так же, как не появляются записи от плагина crashdetect в server_log.txt, а в логах error банальное [log-core] exception 0XC0000005 (ACCESS_VIOLATION) from Vectored Exception Handler catched; shutting log-core down
Чем заболел мой мод и как его вылечить? Почему логи молчат?

UPD:
Проблему уже решил, краша нет, но все равно интересно, почему крашинфо молчал

DeimoS
25.08.2018, 11:08
Эмм, то есть ты не предоставил проблемный код, не предоставил логи и хочешь, чтоб мы ответили, почему же у тебя что-то там крашило? :) Битва экстрасенсов на ТНТ снимается, а не на этом форуме.

Предоставь код, предоставь содержимое логов после краша, опиши то, как подключил crashdetect и тогда, возможно, тебе дадут ответ на твой вопрос. А пока ты предлагаешь пальцем в небо попасть

StevenH
25.08.2018, 15:27
"а в логах error банальное [log-core] exception 0XC0000005 (ACCESS_VIOLATION) from Vectored Exception Handler catched; shutting log-core down" - как мне это нравится, тем более слово "банальное") Такое чувство как будто данная ошибка у каждого второго сервера возникает)

Josan_Solomon
25.08.2018, 15:57
Я ж говорю, нету логов. Последняя запись в логах - подключение игрока, т.е. мое (краш вызван не подключением). А крашдетект подключен правильно, специально симитировал выход за пределы массива (как тогда в sscanf, помните?), чтобы проверить. Код, вызвавший этот краш был примерно такой: printf(string, sizeof (string), int, str, floaT);, причем в строке string много переносов строк (\n). Грубо говоря, я забыл после дебага заменить printf на format, я понял в чем ошибка, но не могу понять, почему при этом логи-то молчат

Daniel_Cortez
25.08.2018, 17:21
Наверное, потому что функция printf() сделана криво (как и многие другие вещи в SA-MP) и приводит к падению, если сформатированный текст длиннее 511 символов?
http://wiki.pro-pawn.ru/wiki/Printf

Web
25.08.2018, 20:26
Какие действия над модом производились до возникновения проблемы?

Josan_Solomon
26.08.2018, 12:42
Но почему логи об этом не говорят? Будто сервер не крашило, а я просто закрыл его, нажав на крестик (т.е. не командой exit)

DeimoS
26.08.2018, 18:04
Потому что процесс сервера убивается быстрее, чем срабатывает код логирования причины краша? Информация о краше ведь не магическим образом появляется и не системой пишется.