diff --git a/Устранение-проблем.md b/Устранение-проблем.md index 17452a1..08b260f 100644 --- a/Устранение-проблем.md +++ b/Устранение-проблем.md @@ -28,36 +28,40 @@ - До Vista: - Запустить drwtsn32.exe и выбрать "Full" напротив Crash Dump File. Тут же можно увидеть (или настроить) куда будут складываться дампы. - На Vista и выше: - - Редактирование реестра, удобный способ от _s1lent_: ![](https://i.imgur.com/pej4HBX.png) + - Редактирование реестра, удобный способ от _s1lent_: ![](https://i.imgur.com/vqDiJ67.png) #### С использованием утилиты userdumps -* Инструкция от _unKn0wn_: ![](https://i.imgur.com/pej4HBX.png) http://aghl.ru/forum/viewtopic.php?p=23876#p23876 +* Инструкция от _unKn0wn_: ![](https://i.imgur.com/vqDiJ67.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 +Сервер надо запускать с ключем **-debug**. + +Если в системе установлен gdb, то автоматически в файле `debug.log` будет записываться внятная информация об ошибке. Так что рекомендуется его поставить (команда зависит от используемой системы, на Debian\Ubuntu - это `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` Больше информации ![](https://i.imgur.com/vqDiJ67.png)[тут](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 (под 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 ..." + +`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). - +Для тестирования настроек создания дампов можете использовать специально разработанный модуль: ![](https://i.imgur.com/vqDiJ67.png)[FixItAll](http://aghl.ru/forum/viewtopic.php?f=19&t=1680&p=19549). ***