Аварийные дампы и логи платформы 1С 8.3: пути, настройка, сбор для поддержки

· 11 мин

Содержание

Дампы 1С 8.3 в Windows ищите в трёх местах: в папке, заданной в файле logcfg.xml (элемент <dump location="...">), в профиле пользователя %LOCALAPPDATA%\1C\1cv8\dumps и в папке отчётов Windows %LOCALAPPDATA%\CrashDumps. У серверных процессов rphost, rmngr и ragent «пользователь» — это учётная запись службы, поэтому их дампы лежат в профиле этой учётки, а не у того, кто сидит за компьютером. В Linux аварийный файл платформы — это обычный core-файл, его место задаёт ядро через core_pattern.

Тема общая для платформы, от конфигурации (БП, ЗУП, УТ) не зависит. Если папок нет или они пустые, запись дампов просто не включена. Ниже — где смотреть, как включить сбор и что приложить к обращению, чтобы сбой реально разобрали.

Где лежат дампы 1С в Windows по умолчанию

Файлы дампов платформы имеют расширение .mdmp. В имени обычно есть имя процесса и версия платформы, например 1cv8c_8.3.24.1548_...mdmp или rphost_8.3.24.1548_...mdmp. Самый быстрый способ найти их — поиск по маске *.mdmp по диску C:.

Что упалоГде искать в первую очередьЧей профиль
Тонкий клиент 1cv8c.exe%LOCALAPPDATA%\1C\1cv8\dumpsПользователь, у которого упало
Толстый клиент, Конфигуратор 1cv8.exe%LOCALAPPDATA%\1C\1cv8\dumpsПользователь, у которого упало
Рабочий процесс сервера rphost.exeПапка из logcfg.xml или профиль службыУчётная запись службы, часто USR1CV8
Менеджер кластера rmngr.exe, агент ragent.exeТам же, где у rphostУчётная запись службы
Любой процесс, если включён сбор Windows%LOCALAPPDATA%\CrashDumps или папка из реестраТот, под кем работал процесс

В старых сборках 8.3 клиентские дампы встречаются и в перемещаемом профиле: %APPDATA%\1C\1cv8\dumps. Если в Local пусто, загляните туда.

Переменная %LOCALAPPDATA% раскрывается в C:\Users\<имя>\AppData\Local. Вставьте путь целиком в адресную строку Проводника — папка AppData скрытая, и вручную до неё долго идти.

Для серверной службы путь будет вида C:\Users\USR1CV8\AppData\Local\1C\1cv8\dumps. Если служба запущена от Local System, профиль лежит в C:\Windows\System32\config\systemprofile\AppData\Local. Под какой учёткой работает служба, видно в services.msc → свойства «Агент сервера 1С:Предприятия» → вкладка «Вход в систему».

Где смотреть сам факт падения

Даже если дампа нет, Windows почти всегда фиксирует аварийное завершение. Откройте eventvwr.msc → «Журналы Windows» → «Приложение» и отфильтруйте события с кодом 1000. В записи будут:

  • 🧩 имя упавшего процесса (1cv8c.exe, rphost.exe);
  • 📦 модуль, в котором случился сбой (backend.dll, ntdll.dll, сторонняя библиотека);
  • 🔢 код исключения, например 0xc0000005 — нарушение доступа к памяти.

Эти три строки стоит переписать в обращение. По имени модуля часто сразу понятно, виновата платформа, драйвер принтера или внешняя компонента.

Включаем запись дампов в logcfg.xml

Штатный способ управлять дампами 1С — файл logcfg.xml. Тот же файл включает технологический журнал, о нём ниже. Платформа читает его из каталога conf:

  • C:\Program Files\1cv8\conf\logcfg.xml — действует для всех установленных версий 8.3;
  • C:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\logcfg.xml — только для одной версии.

Если файла нет, создайте его в Блокноте и сохраните в кодировке UTF-8. Минимальный вариант, который пишет полные дампы в отдельную папку:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <dump create="1" location="D:\1C_dumps" type="3"/>
</config>

Что означают атрибуты:

АтрибутЗначениеКомментарий
create1 — писать дампы, 0 — не писатьБез create="1" настройка не работает
locationПуть к папкеПапка должна существовать, у службы — права на запись
typeТип дампа0 — минимальный, 3 — полный, с памятью процесса

Полный дамп (type="3") поддержка просит чаще всего: в минимальном нет содержимого памяти, и по нему видно только место падения. Платформа перечитывает logcfg.xml примерно раз в минуту, перезапуск службы обычно не нужен.

Полный дамп рабочего процесса занимает столько же, сколько процесс занимал в памяти. У нагруженного rphost это 4–10 ГБ на один файл. Выносите location на диск с запасом места, не указывайте системный диск сервера с базой.

Права на папку для серверной службы

Самая частая причина пустой папки на сервере — служба не может в неё писать. Выдайте учётной записи службы (например, USR1CV8) право «Изменение» на папку D:\1C_dumps через свойства папки → «Безопасность». Для клиента права не нужны, если папка в профиле пользователя.

Дампы через реестр Windows: сбор WER LocalDumps

Если logcfg.xml по какой-то причине не срабатывает, или дамп нужен для процесса, который падает до чтения настроек, подключите сбор средствами Windows. Механизм называется Windows Error Reporting (WER) LocalDumps и работает для любого приложения.

Ключ создаётся в разделе:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps

Внутри можно создать подраздел с именем конкретного процесса, тогда настройка коснётся только его. Пример .reg-файла для рабочего процесса сервера 1С:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\rphost.exe]
"DumpFolder"=hex(2):44,00,3a,00,5c,00,31,00,43,00,5f,00,64,00,75,00,6d,00,70,00,73,00,00,00
"DumpType"=dword:00000002
"DumpCount"=dword:00000005

Здесь DumpFolder — это строка D:\1C_dumps типа REG_EXPAND_SZ (в .reg-файле она записана в шестнадцатеричном виде). Проще создать параметры вручную в regedit:

  1. Откройте regedit от имени администратора.
  2. Перейдите в ...\Windows Error Reporting\LocalDumps. Если раздела LocalDumps нет — создайте его.
  3. Создайте подраздел rphost.exe (или 1cv8c.exe, 1cv8.exe — по процессу, который падает).
  4. Добавьте «Расширяемый строковый параметр» DumpFolder со значением папки.
  5. Добавьте параметр DWORD DumpType: 1 — мини-дамп, 2 — полный.
  6. Добавьте параметр DWORD DumpCount — сколько последних файлов хранить, по умолчанию 10.

Если DumpFolder не задан, Windows кладёт файлы в %LOCALAPPDATA%\CrashDumps того, под кем работал процесс. Перезагрузка не нужна, настройка действует со следующего падения.

DumpCount спасает диск: при частых падениях старые файлы удаляются, остаются только последние N. Для полного дампа сервера ставьте 3–5.

Файлы WER имеют расширение .dmp и называются по имени процесса и его PID, например rphost.exe.4812.dmp.

Когда что выбирать

СпособПлюсыМинусы
logcfg.xmlШтатно для 1С, без правки реестра, рядом можно включить техжурналНе ловит сбои до чтения настроек
WER LocalDumpsРаботает для любого процесса, включая аварии при стартеНе все падения проходят через WER; нужна правка реестра
ProcDumpЛовит то, что пропускают первые два: зависания, «тихое» закрытиеРучной запуск, нужно следить за процессом

Дампы и журналы 1С в Linux и macOS

Linux: сервер и клиент

В Linux logcfg.xml кладут в каталог conf установки платформы. Для сборок 8.3.20 и новее это обычно /opt/1cv8/x86_64/8.3.xx.xxxx/conf/, у более ранних — /opt/1C/v8.3/x86_64/conf/. Путь в location пишется в стиле Linux:

<config xmlns="http://v8.1c.ru/v8/tech-log">
  <dump create="1" location="/var/log/1c/dumps" type="3"/>
</config>

Папка должна принадлежать пользователю, от которого работает сервер, обычно usr1cv8:

sudo mkdir -p /var/log/1c/dumps
sudo chown usr1cv8:grp1cv8 /var/log/1c/dumps

Аварийный файл в Linux — это core dump. Куда он попадёт, решает ядро:

cat /proc/sys/kernel/core_pattern
  • 📍 если вывод начинается с |/usr/lib/systemd/systemd-coredump, дампы собирает systemd. Смотрите их командой coredumpctl list, выгружайте — coredumpctl dump <PID> -o /tmp/rphost.core;
  • 📍 если там шаблон вида core или /var/crash/core.%e.%p, файл ляжет в рабочий каталог процесса или по указанному пути;
  • 📍 в Ubuntu вместо этого может работать apport, тогда отчёты лежат в /var/crash.

Проверьте, что размер core не ограничен нулём. Для службы systemd лимит задаётся в юните параметром LimitCORE=infinity, команда ulimit -c unlimited действует только на текущую сессию терминала.

Правка юнита службы и systemctl restart завершат все сеансы пользователей на этом сервере. Делайте это вне рабочего времени.

macOS: клиент

Для клиента 1С на macOS дампы платформы обычно не ищут — macOS сама сохраняет отчёт о сбое. Он лежит в ~/Library/Logs/DiagnosticReports, файлы с расширением .ips или .crash. Удобнее открыть приложение «Консоль» → «Отчёты о сбоях» и найти запись с именем процесса 1С. Этот текстовый отчёт со стеком вызовов и прикладывают к обращению.

ProcDump: перехват сбоя, который не оставляет следов

Бывает, что 1С закрывается молча: окна с ошибкой нет, в logcfg-папке пусто, WER ничего не записал. Или процесс не падает, а зависает намертво. Для таких случаев есть ProcDump — бесплатная консольная утилита Microsoft из набора Sysinternals.

Скачайте её с сайта Microsoft, распакуйте в C:\Tools и запускайте из командной строки от имени администратора. Три рабочих сценария:

:: Дождаться запуска клиента и снять полный дамп при необработанном исключении
procdump -accepteula -ma -e -w 1cv8c.exe D:\1C_dumps

:: Конкретный рабочий процесс сервера по PID
procdump -accepteula -ma -e 4812 D:\1C_dumps

:: Процесс завис: снять дамп, если окно не отвечает 5 секунд
procdump -accepteula -ma -h 1cv8c.exe D:\1C_dumps

Ключи, которые здесь используются:

  • 🔹 -ma — полный дамп со всей памятью процесса;
  • 🔹 -e — писать дамп при необработанном исключении;
  • 🔹 -w — ждать, пока процесс с таким именем запустится;
  • 🔹 -h — писать дамп при зависании окна;
  • 🔹 -accepteula — принять лицензию без диалогового окна.

Как найти PID нужного rphost

На сервере обычно несколько процессов rphost.exe. Нужный — тот, который обслуживает проблемную базу. В консоли администрирования серверов 1С откройте «Рабочие процессы» и посмотрите колонку с PID. Либо в Диспетчере задач на вкладке «Подробности» включите колонку «Командная строка» и сопоставьте порты.

Если рабочий процесс перезапускается и PID меняется, ProcDump с указанием PID его потеряет. Тогда надёжнее WER LocalDumps для rphost.exe — он сработает на любом экземпляре.

Утилиту не закрывайте, пока сбой не повторится. Окно консоли должно оставаться открытым — закрыли окно, перехват прекратился.

Логи отладки: технологический журнал рядом с дампом

Дамп показывает, где упал процесс. Что он делал за секунду до этого, видно в технологическом журнале. Поддержка почти всегда просит оба файла за один интервал времени.

Журнал включается в том же logcfg.xml. Пример: дампы плюс запись исключений и аварийных завершений процессов:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <dump create="1" location="D:\1C_dumps" type="3"/>
  <log location="D:\1C_logs" history="48">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <event>
      <eq property="name" value="PROC"/>
    </event>
    <property name="all"/>
  </log>
</config>
  • EXCP — исключения, в том числе те, что привели к падению;
  • PROC — события процессов: запуск, завершение, аварийный останов;
  • history="48" — хранить журнал 48 часов, старое удаляется само.

В папке появятся подкаталоги по имени и PID процесса, например rphost_4812, а внутри — файлы по часам: 26100915.log означает 9 октября 2026 года, 15 часов (формат ГГММДДЧЧ). По имени файла и времени дампа легко найти нужный кусок.

Не включайте <property name="all"/> для всех событий подряд на рабочем сервере. Журнал без фильтра за час может вырасти на десятки гигабайт и сам замедлит базу. Фильтруйте по событиям, как в примере.

Не путайте техжурнал с журналом регистрации. Журнал регистрации (1Cv8Log в каталоге базы) хранит действия пользователей и прикладные ошибки, но про падение процесса платформы в нём ничего нет.

Как проверить дамп и передать его в поддержку

Быстрый самостоятельный анализ

Посмотреть, где упал процесс, можно самому. Установите WinDbg (бесплатно, из Microsoft Store), откройте файл .mdmp или .dmp через «File → Open dump file» и выполните команду:

!analyze -v

В выводе ищите строки FAULTING_MODULE и MODULE_NAME. Если там сторонняя DLL — антивирус, драйвер принтера, внешняя компонента 1С — проблема чаще всего в ней, и её обновление решит сбой без обращения в поддержку. Если модуль из каталога платформы (core83.dll, backend.dll и подобные), разбираться будут разработчики платформы.

Что собрать для обращения

Комплект для обращения о падении 1С
Выполнено: 0 / 7

Как отправить:

  1. Сожмите дамп в ZIP или 7z. Полные дампы сжимаются в 5–10 раз.
  2. Опишите воспроизведение: «открываю отчёт ОСВ по счёту 41 за год — клиент закрывается».
  3. Отправьте обращение на линию поддержки вашего партнёра 1С или в техподдержку фирмы 1С по договору ИТС. Файл больше 50–100 МБ обычно передают ссылкой на облачное хранилище.

Полный дамп содержит всё, что было в памяти процесса: данные базы, логины, иногда пароли. Передавайте его только официальной поддержке и через защищённый канал, не выкладывайте на форумы.

Почему дамп не создаётся: частые проблемы

Диагностика: выберите симптом

После того как дампы собраны и отправлены, верните настройки обратно: поставьте create="0" в logcfg.xml или удалите подраздел в LocalDumps. Постоянно включённый сбор полных дампов на сервере рано или поздно заполнит диск.

Частые вопросы

Можно ли удалить старые дампы 1С?
Да. Файлы .mdmp и .dmp нужны только для анализа сбоя. После отправки в поддержку их можно удалить, на работу базы это не влияет.
Нужно ли перезапускать сервер 1С после правки logcfg.xml?
Обычно нет: платформа перечитывает файл примерно раз в минуту. Перезапуск нужен только для настроек, которые служба читает при старте.
Почему дампы появились у пользователя, хотя упал сервер?
Упал не сервер, а клиентский процесс. Сервер мог вернуть ошибку, после которой клиент аварийно закрылся. Смотрите, какой процесс указан в имени файла.
Чем дамп отличается от журнала регистрации?
Журнал регистрации — это действия пользователей и прикладные ошибки внутри базы. Дамп — снимок памяти процесса в момент аварии, его читают отладчиком.
Сколько хранить дампы на сервере?
Достаточно трёх–пяти последних. Больше нужно, только если поддержка попросила серию дампов для одного и того же сбоя.