- Версия мультиплеера
-
- SA:MP 0.3.7
- SA:MP 0.3e
- CR:MP 0.3.7
- CR:MP 0.3e
Описание:
CrashDetect помогает вам отлаживать runtime errors и краши сервера. Когда что-то идет не так, вы получите сообщение об ошибке с её описанием, трассировкой стека и другой полезной информацией, которая облегчит быстрое обнаружение и устранение проблемы.
Установка:
Плагин поставляются с файлом include (crashdetect.inc), который содержит некоторые вспомогательные функции, которые могут оказаться полезными. Но вы не обязаны подключать его, чтобы использовать CrashDetect.
Использование:
После установки плагина вам не нужно ничего дополнительно делать, чтобы начать получать отчеты об ошибках. По умолчанию все ошибки будут сохраняться в вашем server_log.txt, но это можно изменить. (смотрите конфигурация)
Для лучшего опыта отладки убедитесь, что вы компилируете свой скрипт с включенной отладочной информацией. Это позволит вам увидеть больше информации в стек-трейсах, такой как названия функций, названия и значения параметров, имена и строки исходных файлов.
Пожалуйста, имейте в виду, что при использовании этого плагина ваш код будет работать медленнее из-за накладных расходов, связанных с обнаружением ошибок и предоставлением точной информации об ошибке (например, некоторые runtime оптимизации отключены). Обычно это нормально во время разработки, но не рекомендуется загружать CrashDetect на готовый сервер с множеством игроков.
Конфигурация:
CrashDetect считывает настройки из файла конфигурации сервера - server.cfg. Это происходит во время загрузки плагина, поэтому если вы измените какие-либо настройки, вам, вероятно, потребуется перезапустить сервер.
Доступные настройки:
В crashdetect.inc определено несколько функций для доступа к информации о плагине. Все они являются обертками над прямым доступом к регистрам, но обеспечивают гораздо более удобный API.
Автор: Romzes.
CrashDetect помогает вам отлаживать runtime errors и краши сервера. Когда что-то идет не так, вы получите сообщение об ошибке с её описанием, трассировкой стека и другой полезной информацией, которая облегчит быстрое обнаружение и устранение проблемы.
Установка:
- Скачайте плагин.
- Извлеките и скопируйте crashdetect.so или crashdetect.dll в <server>/plugins/.
- Добавьте crashdetect (Windows) или crashdetect.so (Linux) в строку plugins вашего server.cfg.
Плагин поставляются с файлом include (crashdetect.inc), который содержит некоторые вспомогательные функции, которые могут оказаться полезными. Но вы не обязаны подключать его, чтобы использовать CrashDetect.
Использование:
После установки плагина вам не нужно ничего дополнительно делать, чтобы начать получать отчеты об ошибках. По умолчанию все ошибки будут сохраняться в вашем server_log.txt, но это можно изменить. (смотрите конфигурация)
Для лучшего опыта отладки убедитесь, что вы компилируете свой скрипт с включенной отладочной информацией. Это позволит вам увидеть больше информации в стек-трейсах, такой как названия функций, названия и значения параметров, имена и строки исходных файлов.
Пожалуйста, имейте в виду, что при использовании этого плагина ваш код будет работать медленнее из-за накладных расходов, связанных с обнаружением ошибок и предоставлением точной информации об ошибке (например, некоторые runtime оптимизации отключены). Обычно это нормально во время разработки, но не рекомендуется загружать CrashDetect на готовый сервер с множеством игроков.
Конфигурация:
CrashDetect считывает настройки из файла конфигурации сервера - server.cfg. Это происходит во время загрузки плагина, поэтому если вы измените какие-либо настройки, вам, вероятно, потребуется перезапустить сервер.
Доступные настройки:
- trace <flags>
Включает отслеживание вызовов функций.
Если включено, CrashDetect будет показывать информацию о каждом вызове функции во всех запущенных скриптах, такую как имя вызываемой функции и значения ее параметров.
flags могут быть одним или комбинацией следующих:- n - отслеживать вызовы встроенных функций
- p - отслеживать вызовы публичных функций
- f - отслеживать обычные функции (т.е. все не публичные функции.
- trace_filter <regexp>
Фильтрует вывод trace на основе регулярного выражения.
Примеры:- trace_filter Player - вывод функций, чье имя содержит Player
- trace_filter playerid=0 - показывает функции, чей параметр playerid равен 0
- crashdetect_log <filename>
Используйте пользовательский файл журнала для вывода.
По умолчанию все диагностические данные выводятся в журнал сервера. Эта опция позволяет перенаправить вывод в отдельный файл.
- long_call_time <us>
Сколько времени должен продолжаться вызов обратного вызова верхнего уровня, прежде чем CrashDetect выдаст предупреждение. Это можно установить очень высоким (например, 1000000), чтобы обнаружить только функции, которые полностью зависли, или очень низким (500), чтобы обнаружить функции, которые завершаются, но медленные (и, следовательно, влияют на общую работу сервера и синхронизацию). Значение по умолчанию - 5000 (5 миллисекунд).
Используйте 0, чтобы отключить эту проверку.
В crashdetect.inc определено несколько функций для доступа к информации о плагине. Все они являются обертками над прямым доступом к регистрам, но обеспечивают гораздо более удобный API.
- bool:IsCrashDetectPresent() - Загружен ли плагин CrashDetect?
- SetCrashDetectLongCallTime(us_time) - Установить порог предупреждения о длительных вызовах.
- GetCrashDetectLongCallTime() - Получить порог предупреждения о длительных вызовах.
- DisableCrashDetectLongCall() - Отключить предупреждение о длительных вызовах.
- EnableCrashDetectLongCall() - Включить предупреждение о длительных вызовах.
- ResetCrashDetectLongCallTime() - Сбросить порог длительных вызовов на значение по умолчанию (из server.cfg).
- RestartCrashDetectLongCall() - Перезапустить таймер длительных вызовов.
- bool:IsCrashDetectLongCallEnabled() - Включено ли обнаружение длительных вызовов функций?
- bool:HasCrashDetectLongCall() - Поддерживается ли данная функция в текущей версии CrashDetect?
- GetCrashDetectDefaultTime() - Получить порог длительных вызовов по умолчанию.
- DisableCrashDetectAddr0() - Отключить обнаружение записи в адрес ноль в данном режиме.
- EnableCrashDetectAddr0() - Включить обнаружение записи в адрес ноль в данном режиме.
- bool:IsCrashDetectAddr0Enabled() - Включено ли обнаружение записи в адрес ноль в данный момент?
- bool:HasCrashDetectAddr0() - Поддерживается ли данная функция в текущей версии CrashDetect?
Автор: Romzes.