diff --git a/Устранение-проблем.md b/Устранение-проблем.md index 8d5ca41..17452a1 100644 --- a/Устранение-проблем.md +++ b/Устранение-проблем.md @@ -28,14 +28,36 @@ - До Vista: - Запустить drwtsn32.exe и выбрать "Full" напротив Crash Dump File. Тут же можно увидеть (или настроить) куда будут складываться дампы. - На Vista и выше: - - Редактирование реестра, удобный способ от _s1lent_: + - Редактирование реестра, удобный способ от _s1lent_: ![](https://i.imgur.com/pej4HBX.png) #### С использованием утилиты userdumps -* Инструкция от _unKn0wn_: http://aghl.ru/forum/viewtopic.php?p=23876#p23876 +* Инструкция от _unKn0wn_: ![](https://i.imgur.com/pej4HBX.png) http://aghl.ru/forum/viewtopic.php?p=23876#p23876 ### ![](https://i.imgur.com/AzhAYR4.png) Linux -`Подраздел нуждается в доработке` +Сервер надо запускать с ключем -debug. +Если в системе установлен gdb, то автоматически в файле debug.log будет записываться внятная информация об ошибке. Так что рекомендуется его поставить (команда зависит от используемой системы, на дебиане это apt install gdb). Хотя для создания дампов это не требуется, это фактически обязательно надо сделать при наличии возможности, так как в debug.log при этом будет записано место падения, что позволит сразу что-то сказать об ошибке. Получение этой же информации на другой системе из дамп-файла потребует наличия всех бинарников от сервера. +По умолчанию дамп-файл называется core, записывается в рабочей папке, и, соответственно, будет перезаписываться. Во избежание, можно добавлять к имени идентификатор процесса: +Цитата: +echo 1 > /proc/sys/kernel/core_uses_pid +или складывать дампы в /tmp: +Цитата: +echo /tmp/%e-%t-%p-%c.dmp > /proc/sys/kernel/core_pattern +Больше информации тут: http://man7.org/linux/man-pages/man5/core.5.html + +Запуск без sudo (под root, иначе общие настройки системы должны быть выставлены на unlimited): +Цитата: +ulimit -c unlimited && ./hlds_run -debug ... +Запуск с sudo (под пользователем hlds): +Цитата: +ulimit -Hc unlimited && sudo -u hlds sh -c "ulimit -Sc unlimited && ./hlds_run -debug ..." +Проверка запуска из под sudo: +Цитата: +ulimit -Hc unlimited && sudo -u hlds sh -c "ulimit -Sc unlimited && whoami && ulimit -Sc && ./hlds_run -debug ..." +выводит имя пользователя под которым произойдет запуск и лимит на создание дампов, после чего запускает сервер. + +Для тестирования настроек создания дампов можете использовать специально разработанный модуль: ![](https://i.imgur.com/pej4HBX.png) [FixItAll](http://aghl.ru/forum/viewtopic.php?f=19&t=1680&p=19549). + ***