Данный плагин выводит в консоль сервера сообщения об ошибках. С его помощью можно найти нужный отрывок кода, из-за которого происходит ошибка или краш сервера.
Пример:
Допустим, у нас есть такой код:
#include <a_samp>
main() {
function1();
}
function1() {
function2();
}
function2() {
new buf[10];
fread(File:123, buf);
}
Когда выполнение дойдёт до функции function2, сервер упадёт и, если он запущен под Шindoшs, в crashinfo.txt будет записана непонятная информация о краше.
Однако с CrashDetect вы можете увидеть более понятное сообщение в server_log.txt
[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
Также можно получить более подробную информацию (например строки кода, на которых происходит ошибка, имена функций, параметры и т.д.), скомпилировав скрипт в режиме отладки следующим образом:
Открыть блокнот и ввести "-d3" (без кавычек).
Сохранить файл как "pawn.cfg" (под именем указать параметр "Все файлы") в папку с Pawno.
Заново скомпилировать мод.
После этого во время ошибки будет выведено следующее:
[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
Теперь можно увидеть имя исходного файла (crash.pwn), название функции (function2) и даже номер строки (crash.pwn:13), на которой произошла ошибка.
Вы можете прорекламировать свой сервер на этом сайте. За небольшую плату!
Написать сообщение