2
0
mirror of https://github.com/rehlds/metamod-r.git synced 2025-07-22 21:21:39 +03:00

Updated Устранение проблем (markdown)

STAM 2018-03-12 14:06:17 +03:00
parent 9e6f5301fe
commit 1df97f819b

@ -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).
***