Администрирование · 10 мин
Как добавить в реестр дампы 1С
Как настроить автоматическое создание дампов памяти при аварийном завершении 1С через реестр Windows, технологический журнал и внешние отладчики.
Аварийное завершение платформы 1С с ошибкой вида «Программа 1cv8.exe завершила работу» не оставляет после себя никакой полезной информации, если заранее не настроен сбор дампов памяти. Дамп — это снимок состояния процесса в момент сбоя, по которому специалисты технической поддержки и разработчики могут определить причину падения: ошибку в платформе, конфигурации, внешней компоненте или драйвере.
Добавить в реестр параметры создания дампов — самый простой способ заставить Windows автоматически сохранять дамп при каждом аварийном завершении 1С. Это делается через механизм Windows Error Reporting (WER) либо через утилиту ProcDump, и оба варианта реестровые либо близкие к ним по механике. Ниже разобраны оба способа, а также сбор дампов через технологический журнал и диагностику типичных ошибок.
Что такое дамп 1С и когда он нужен
Дамп памяти (crash dump) — это файл, в который операционная система записывает состояние процесса в момент критической ошибки. Для 1С это актуально при аварийных завершениях клиентского приложения (1cv8.exe, 1cv8c.exe), рабочего процесса сервера (rphost) или агента сервера (ragent). Без дампа причина падения обычно остается неизвестной: журнал регистрации фиксирует только логику прикладного решения, а не низкоуровневый сбой платформы.
Дампы бывают нескольких видов. Мини-дамп (mini dump) содержит только стеки вызовов и базовую информацию о потоках — его достаточно для большинства обращений в поддержку, а размер файла составляет десятки мегабайт. Полный дамп (full dump) включает всю память процесса и может занимать гигабайты, но нужен при глубоком анализе, например при подозрении на повреждение кучи или утечки памяти.
Настройка дампов через реестр Windows (LocalDumps)
Способ с реестром работает на уровне всей системы и не требует установки дополнительных программ. Windows Error Reporting перехватывает аварийное завершение любого процесса и сохраняет дамп в указанную папку. Настройка выполняется один раз и действует до отмены.
Откройте редактор реестра (regedit) с правами администратора и создайте раздел по пути HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps. Внутри него добавьте три параметра: DumpFolder (тип REG_EXPAND_SZ) — путь к папке для дампов, например C:\Dumps; DumpCount (тип DWORD) — максимальное количество хранимых дампов, например 10; DumpType (тип DWORD) — тип дампа, где 1 означает мини-дамп, а 2 — полный дамп.
- 1Создайте папку для дампов, например C:\Dumps, и убедитесь, что на диске достаточно свободного места
- 2Откройте regedit от имени администратора
- 3Перейдите в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting и создайте подраздел LocalDumps
- 4Добавьте параметр DumpFolder (REG_EXPAND_SZ) со значением C:\Dumps
- 5Добавьте параметр DumpCount (DWORD) со значением 10
- 6Добавьте параметр DumpType (DWORD): 1 — мини-дамп, 2 — полный дамп
- 7Перезагрузка не требуется — настройки применяются сразу
Если дампы нужны только для конкретного процесса, например 1cv8.exe, создайте внутри LocalDumps вложенный раздел с именем исполняемого файла и задайте параметры в нём. Это удобно на серверах, где глобальный сбор дампов всех приложений нежелателен из-за расхода дискового пространства.
New-Item -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Force; New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name DumpFolder -Value 'C:\Dumps' -PropertyType ExpandString; New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name DumpCount -Value 10 -PropertyType DWord; New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name DumpType -Value 2 -PropertyType DWordСбор дампов утилитой ProcDump
ProcDump из комплекта Sysinternals — альтернатива реестру, когда дамп нужно получить не только при падении, но и при зависании, превышении порога памяти или конкретном исключении. Утилита запускается из командной строки и следит за указанным процессом, сохраняя дамп по заданному условию.
Типовая команда для снятия дампа при аварийном завершении 1С выглядит так: procdump -e -ma 1cv8.exe C:\Dumps. Ключ -e означает ожидание необработанного исключения, -ma — полный дамп со всей памятью. Для серверного процесса rphost, которых может быть несколько, указывайте PID конкретного процесса вместо имени. ProcDump удобен тем, что не требует изменения реестра и легко отключается — достаточно закрыть окно утилиты.
Сравнение вариантов
Работает постоянно и автоматически для всех падений. Требует прав администратора и контроля за дисковым пространством.
Гибкие условия срабатывания, не изменяет реестр. Нужно запускать вручную и держать процесс активным до момента сбоя.
Встроен в платформу, собирает дамп по событию EXCP. Работает только пока платформа способна обработать исключение, при жестком падении процесса может не сработать.
Дампы через технологический журнал 1С
Платформа 1С умеет создавать дампы штатными средствами через технологический журнал. Для этого в корневой папке конфигурации платформы (обычно C:\Program Files\1cv8\<версия>\bin\conf) создается файл logcfg.xml, в котором описывается событие EXCP и включение свойства дампа.
Минимальный конфигурационный файл содержит секцию <dump location="C:\Dumps" create="1" type="1"/> внутри элемента <config>. Параметр type задаёт вид дампа аналогично реестру. После сохранения файла платформа начнет записывать дампы при обрабатываемых исключениях. Важно учитывать, что технологический журнал фиксирует исключения, которые платформа успевает перехватить; при внезапном разрушении процесса (например, из-за драйвера или внешней компоненты) дамп через logcfg.xml может не создаться, и тогда помогут только LocalDumps или ProcDump.
Проверка, что дампы создаются
После настройки нужно убедиться, что механизм реально работает. Самый надежный способ — дождаться повторного сбоя и проверить целевую папку. Если сбой воспроизводится по определенным действиям пользователя, повторите их и посмотрите, появился ли файл с расширением .dmp и свежей датой изменения.
Дополнительно проверьте журнал событий Windows: в разделе «Приложение» при аварийном завершении появляются записи от источников Application Error и Windows Error Reporting с кодом события 1000 и 1001. В них указан путь к сохраненному дампу. Если событие 1000 есть, а дампа нет — чаще всего проблема в правах на папку или нехватке места на диске.
Как проверить результат
Появился файл .dmp с датой, совпадающей с моментом падения
Папка пуста при наличии события 1000 в журнале
Событие 1001 от WER содержит путь к файлу дампа
Есть только событие 1000 без ссылки на дамп
Запас в несколько раз больше объема памяти процесса
Места меньше, чем занимает процесс 1С в памяти
Ограничения, риски и типичные ошибки
Работа с реестром требует аккуратности: ошибочное изменение чужих веток может нарушить работу системы. Перед правкой экспортируйте изменяемый раздел через меню «Файл — Экспорт». Папка для дампов должна быть доступна на запись той учетной записи, под которой работает процесс 1С, — для rphost это обычно служебный пользователь агента сервера 1С, а не текущий администратор.
Полные дампы содержат всю память процесса, включая фрагменты данных информационной базы и, возможно, пароли в открытом виде. Передавайте дампы только проверенным получателям и удаляйте их после завершения анализа. Также помните, что LocalDumps действует на все приложения системы — на рабочем сервере это может привести к накоплению дампов сторонних программ.
Что делать с полученным дампом
Самостоятельно проанализировать дамп можно в WinDbg или DebugDiag, но для большинства администраторов практичный путь — передать файл в техническую поддержку вендора вместе с описанием сценария, версией платформы и конфигурации. Если падение связано с внешней компонентой или драйвером СУБД, дамп позволит локализовать модуль, в котором произошло исключение.
После завершения расследования удалите дампы и, если сбор больше не нужен, отключите механизм: удалите раздел LocalDumps из реестра или закомментируйте секцию dump в logcfg.xml. Постоянно работающий сбор полных дампов — это скрытый расход дискового пространства и потенциальный риск утечки данных.
Что важно запомнить
Дампы 1С включаются через ветку реестра LocalDumps с параметрами DumpFolder, DumpCount и DumpType, либо через ProcDump, либо через logcfg.xml технологического журнала. Проверяйте результат по папке дампов и событию 1001 в журнале Windows, следите за дисковым пространством и помните, что полные дампы содержат данные базы.
Частые вопросы
Нужна ли перезагрузка после добавления параметров LocalDumps в реестр?
Нет, настройки Windows Error Reporting применяются немедленно. Следующее аварийное завершение любого процесса уже будет зафиксировано с созданием дампа в указанной папке.
Какой тип дампа выбрать: мини или полный?
Для первичного обращения в поддержку обычно достаточно мини-дампа — он компактен и содержит стеки потоков. Полный дамп включайте, только если его явно запросили специалисты или мини-дамп не дал ответа, и следите за свободным местом на диске.
Почему дамп не создается, хотя 1С падает?
Частые причины: нет прав на запись в папку у учетной записи процесса, недостаточно места на диске, раздел реестра создан с опечаткой или сбой происходит на уровне, который WER не перехватывает (например, принудительное завершение процесса). Проверьте событие 1000 в журнале приложений — оно подтверждает, что система зафиксировала падение.
Можно ли настроить дампы только для rphost, а не для всех программ?
Да. Внутри раздела LocalDumps создайте подраздел с именем rphost.exe и задайте DumpFolder, DumpCount и DumpType в нём. Тогда дампы будут сохраняться только для этого процесса.
Чем технологический журнал отличается от дампов через реестр?
Технологический журнал — штатный механизм платформы, он создает дамп при исключениях, которые платформа успевает обработать. LocalDumps работает на уровне ОС и ловит любые аварийные завершения, включая те, при которых платформа уже не функционирует. Для надежности часто используют оба механизма.