Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 20

Тема: Crash Detect

  1. #1
    Почетный пользователь LC Аватар для ..KempeR..
    Регистрация
    31.08.2011
    Адрес
    Киев, Украина
    Сообщений
    1,504
    Репутация: 189

    Звание: - весьма и весьма положительная личность

    Crash Detect

    Crashdetect v4.6

    Никто еще не выложил этот плагин, но многие знают о нём. Всё таки решил создать эту тему.

    Данный плагин вывод в лог сервера ошибки во время работы сервера. Это помогает найти в какой конкретно функции баг, вызывающий краш сервера или переполнение памяти.

    Пример вылета сервера
    Предположим, что мы запускает такой Gamemode:

    #include <a_samp>

    main() {
    function1();
    }

    function1() {
    function2();
    }

    function2() {
    new buf[10];
    fread(File:123, buf);
    }

    Когда дело дойдёт до function2(), сервер крашнет. Если сервер запущен под Os Windows, то в crashinfo.txt будет выведена нечитабельная запись

    Но с CrashDetect вы увидите следующее в логах сервера:
    Код:
    [05:26:38] [debug] Server crashed while executing crash.amx
    [05:26:38] [debug] Backtrace (most recent call first):
    [05:26:38] [debug] #0  native fread () from samp-server.exe
    [05:26:38] [debug] #1  00000090 in ?? () from crash.amx
    [05:26:38] [debug] #2  00000038 in ?? () from crash.amx
    [05:26:38] [debug] #3  0000001c in main () from crash.amx
    Что является более информативным. Вы также можете получить дополнительную информацию, такую как номера строк, имена функций, параметров и т.д.
    Код:
    [05:27:11] [debug] Server crashed while executing crash.amx
    [05:27:11] [debug] Backtrace (most recent call first):
    [05:27:11] [debug] #0  native fread () from samp-server.exe
    [05:27:11] [debug] #1  000000b8 in function2 () at crash.pwn:13
    [05:27:11] [debug] #2  00000048 in function1 () at crash.pwn:8
    [05:27:11] [debug] #3  00000024 in main () at crash.pwn:4
    Runtime error
    Run time errors как правило выводятся через сообщение "Run time error <error_code>: "Error details here"".

    Образец, вызывающий Runtime Error:

    public OnGameModeInit() {
    new bla[5];

    new fffuuuu = 0;

    fffuuuu = 100;
    bla[fffuuuu] = 100;

    return bla[fffuuuu];
    }

    Если вы планируете скомпилировать этот код в режиме отладки и запустить, выведет следующее:
    Код:
    [05:32:16] [debug] Run time error 4: "Array index out of bounds"
    [05:32:16] [debug]   Accessing element at index 100 past array upper bound 4
    [05:32:16] [debug] Backtrace (most recent call first):
    [05:32:16] [debug] #0  00000084 in public OnGameModeInit () at bounds.pwn:11
    Если вы хотите, что бы сервер выключался после первой Runtime Error, установите значение "die_on_error" в файле server.cfg в 1

    Загрузить


    • Автор перевода: я (=KempeR=)
    • Автор плагина: Zeex


  2. #2
    кабанчик :3
    Регистрация
    20.01.2012
    Сообщений
    1,513
    Репутация: 231

    Звание: - весьма и весьма положительная личность

    Re: Crashdetect плагин v4.6 от Zeex

    прикольн))лови +сик
    ...

  3. #3
    Проверенный Аватар для Essle
    Регистрация
    30.07.2011
    Адрес
    Омск
    Возраст
    27
    Сообщений
    1,205
    Репутация: 240

    Звание: - весьма и весьма положительная личность

    Re: Crash Detect

    Оо. Как раз нужно! +

  4. #4
    Активный пользователь Аватар для Mainstone
    Регистрация
    19.09.2011
    Адрес
    Тбилиси
    Сообщений
    2,523
    Репутация: 85

    Звание: скоро придёт к известности

    Re: Crash Detect

    Предположим, что мы запускает такой Gamemode:
    Моя твоя не понимать.
    Comeback is real.

  5. #5
    Активный пользователь Аватар для Kamolsky
    Регистрация
    10.02.2012
    Адрес
    Нижний Новгород
    Сообщений
    1,034
    Репутация: 109

    Звание: скоро придёт к известности

    Re: Crash Detect

    Вопрос, как сделать что бы выводило номера строк?

  6. #6
    Почетный пользователь LC Аватар для ..KempeR..
    Регистрация
    31.08.2011
    Адрес
    Киев, Украина
    Сообщений
    1,504
    Репутация: 189

    Звание: - весьма и весьма положительная личность

    Re: Crash Detect

    Kamolsky, этот параметр нельзя настроить. В примере показано, пишет функцию, которая вызывает краш и/или скрипт и номер строки

  7. #7
    Potato Аватар для SDraw
    Регистрация
    10.04.2011
    Сообщений
    1,327
    Репутация: 390

    Звание: - очень-очень хороший человек

    Re: Crash Detect

    Создаем файл pawn.cfg с содержимым
    Код:
    -d0 -r
    или же
    Код:
    -d3 -r
    и тогда будет больше детальной информации...

  8. #8
    ыыыыы Аватар для Mexanizm
    Регистрация
    16.01.2012
    Адрес
    Россия. Воронеж
    Возраст
    30
    Сообщений
    2,450
    Репутация: 287

    Звание: как роза среди колючек

    Re: Crash Detect

    Ссылка не пашет. Обнови
    Modern RP





  9. #9
    Проверенный Аватар для frog163
    Регистрация
    12.04.2010
    Адрес
    Samara
    Возраст
    31
    Сообщений
    4,548
    Репутация: 365

    Звание: - очень-очень хороший человек

    Re: Crash Detect

    Цитата Сообщение от SDraw Посмотреть сообщение
    Создаем файл pawn.cfg с содержимым
    Код:
    -d0 -r
    или же
    Код:
    -d3 -r
    и тогда будет больше детальной информации...
    В каком случае может не выводить номера строк?
    При выключении сервера(методом клика по крестику xD)
    Код:
    [07:33:22] --- Server Shutting Down.
    [07:33:22] [debug] Server crashed due to an unknown error
    [07:33:22] [debug] System backtrace:
    [07:33:23] [debug] #0 004690e5 in ?? () from C:\путь\samp-server.exe
    [07:33:23] [debug] #1 ff006aec in ?? ()
    Плагин: v4.10
    Компиляция с -d3 -r

    Причем крашлог пуст, без плагина никаких признаков креша

    upd:
    Пизжу же, с подключенным плагином создает пустой крашлог, а без плагина крашлог не создается, в лог ничего не пишется, НО:
    Ничто не ограничивает полет мысли программиста так, как компилятор, сцуко!
    Если в предложении собеседника различного рода смайлов больше чем слов - однозначно, что этот индивид страдает критической, неизлечимой и при этом прогрессирующей формой долбоебизма © лурка
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

  10. #10
    Проверенный Аватар для frog163
    Регистрация
    12.04.2010
    Адрес
    Samara
    Возраст
    31
    Сообщений
    4,548
    Репутация: 365

    Звание: - очень-очень хороший человек

    Re: Crash Detect

    Забыл удалить регулярные выражения при выходе (ф-я regex_delete в плагине regex.dll), поставил - все ок
    Но вопрос остался, почему крашдетект не вывел строчки - ясно, ошибка уже в самом плагине, но почему он мне не дал название плагина, как он делает это например с mysql.dll?
    Ничто не ограничивает полет мысли программиста так, как компилятор, сцуко!
    Если в предложении собеседника различного рода смайлов больше чем слов - однозначно, что этот индивид страдает критической, неизлечимой и при этом прогрессирующей формой долбоебизма © лурка
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Crash kill
    от SIRIUS в разделе Вопросы по скриптингу
    Ответов: 5
    Последнее сообщение: 01.01.2012, 14:35
  2. crash при запуске сервера
    от bloodcat в разделе Другие темы по Pawn
    Ответов: 1
    Последнее сообщение: 25.01.2011, 12:03

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •