К статье
Практический материал

Администрирование · 11 мин

Чем посмотреть дамп 1С: рабочие инструменты и порядок анализа

Чем открыть и посмотреть дамп 1С: встроенные средства, Process Explorer, WinDbg, анализ дампов памяти и файлов выгрузки. Пошаговые инструкции и советы.

Словом «дамп» в контексте 1С называют два разных объекта, и путаница между ними — первая причина бесплодных попыток «открыть файл». Первый тип — дамп памяти процесса (файл .dmp), который создаётся при аварийном завершении платформы или принудительно для диагностики зависания. Второй — файл выгрузки информационной базы (.dt), который администраторы тоже часто называют дампом. Инструменты для этих файлов совершенно разные.

Дамп памяти (.dmp) содержит снимок адресного пространства процесса 1cv8.exe, rphost.exe или ragent.exe на момент сбоя. Его нельзя «прочитать как текст»: это бинарный слепок памяти, который анализируют отладчиками. Файл выгрузки (.dt) — это архив базы в формате платформы, который восстанавливается через конфигуратор, а не «просматривается» напрямую.

Выбор инструмента зависит от задачи: понять причину падения, найти зависший запрос, вытащить данные из выгрузки или просто оценить, что вообще находится в файле. Ниже разобраны рабочие варианты для каждого сценария — от штатных средств Windows до отладчиков и специализированных утилит.

Сначала определите, какой у вас дамп

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

Расширение .dmpДамп памяти процесса

Появился после аварийного завершения или снят вручную; размер от сотен мегабайт до нескольких гигабайт

Расширение .dtФайл выгрузки информационной базы

Создан через конфигуратор (Администрирование → Выгрузить информационную базу)

Файл в каталоге dumps технологического журналаАварийный дамп платформы

Создан автоматически при падении, путь задаётся в logcfg.xml

Большой файл без расширения рядом с 1Cv8.1CDФайловая база, а не дамп

Это сама база данных, открывается добавлением в список баз

Если файл получен от коллег или скачан с сервера без пояснений, откройте его в любом hex-редакторе и посмотрите первые байты. У дампов памяти Windows в начале стоит сигнатура MDMP, у файлов выгрузки 1С — собственная структура, начинающаяся с текстового заголовка. Это надёжный способ отличить форматы, когда расширение переименовано.

Как посмотреть дамп памяти через WinDbg

WinDbg (входит в Windows SDK, также доступен как WinDbg Preview в Microsoft Store) — основной инструмент анализа дампов .dmp. Он показывает стеки вызовов потоков, загруженные модули и состояние процесса на момент сбоя.

Порядок анализа дампа в WinDbg
  1. 1
    Установите WinDbg из Microsoft Store или через Windows SDK (компонент Debugging Tools)
  2. 2
    Откройте файл через File → Open Dump File и дождитесь загрузки
  3. 3
    Выполните команду !analyze -v для автоматического анализа исключения
  4. 4
    Командой ~* kb выведите стеки всех потоков и найдите поток с исключением
  5. 5
    Настройте символы командой .symfix и перезагрузите их через .reload, чтобы стеки стали читаемыми

Ключевое, что даёт WinDbg, — стек вызовов в момент падения. Если в верхних фреймах видны модули самой платформы (например, frame.dll, core83.dll), проблема скорее в платформе или коде конфигурации. Если падает сторонняя DLL (драйвер, антивирус, COM-компонента), направление поиска меняется. Без файлов символов стеки будут состоять из адресов, поэтому настройка путей к символам Microsoft (.symfix) заметно улучшает читаемость.

Полноценный анализ дампа требует опыта чтения стеков и понимания внутреннего устройства Windows. Если стек указывает на внутренние модули платформы без очевидной причины, разумный шаг — передать дамп в поддержку 1С через портал, приложив описание сценария и версию платформы.

Альтернативы: DebugDiag, Process Explorer и ProcDump

DebugDiag от Microsoft — более «дружелюбный» инструмент: он сам строит отчёт по дампу с перечнем потоков, исключений и подозрительных модулей. Для первичной оценки (что упало, какой модуль виноват) его часто достаточно, и глубоких навыков отладки он не требует.

Process Explorer и ProcDump из пакета Sysinternals нужны не столько для просмотра, сколько для получения дампа. Если 1С завис, но не упал, дамп снимают принудительно: в Process Explorer правой кнопкой по процессу → Create Dump → Create Full Dump. ProcDump делает то же из командной строки и умеет автоматически создавать дамп при падении или превышении порога памяти.

cmd
procdump -ma -e 1cv8.exe C:\dumps\

Команда выше создаст полный дамп процесса клиента 1С при возникновении необработанного исключения. Для серверного процесса замените имя на rphost.exe; если рабочих процессов несколько, указывайте конкретный PID вместо имени.

Сравнение инструментов для дампов памяти

WinDbg

Максимальные возможности анализа, но требует навыков отладки и настройки символов

DebugDiag

Автоматический отчёт по дампу, подходит для первичной диагностики без опыта

Visual Studio

Открывает дамп и показывает стек/модули, удобен разработчикам, но избыточен для администратора

Process Explorer / ProcDump

Снятие дампа с зависшего или падающего процесса, анализ не выполняют

Как «посмотреть» файл выгрузки .dt

Файл .dt — это не дамп памяти, а упакованная копия информационной базы. Штатный способ работы с ним один: создать пустую базу, зайти в конфигуратор и выполнить «Администрирование → Загрузить информационную базу». После загрузки данные доступны обычными средствами — через конфигуратор, запросы или пользовательский режим.

Если нужно быстро проверить, что внутри .dt, без полной загрузки, есть неофициальные варианты. Утилита v8unpack (открытый проект) разбирает файл выгрузки на составляющие — конфигурацию, таблицы, метаданные. Это полезно, когда нужно извлечь только конфигурацию или оценить целостность файла. Инструмент не поддерживается вендором, поэтому используйте его на копии файла.

Минимальную проверку содержимого можно сделать и вручную: .dt имеет блочную структуру, и в hex-редакторе видны имена объектов метаданных в читаемом виде. Это позволяет убедиться, что файл действительно выгрузка нужной конфигурации, прежде чем тратить время на загрузку.

Дампы технологического журнала и аварийные дампы платформы

Платформа 1С умеет создавать дампы автоматически при аварийном завершении, если это включено в настройках технологического журнала (файл logcfg.xml, элемент dump). Такие дампы складываются в указанный каталог и обычно являются мини-дампами — компактными слепками с основной информацией об исключении.

Анализируются эти файлы теми же WinDbg и DebugDiag. Практический момент: мини-дамп без символов платформы часто показывает только то, что исключение произошло внутри модулей 1С. В такой ситуации самый продуктивный путь — отправить дамп вместе с логом технологического журнала в поддержку, а самостоятельно сосредоточиться на воспроизводимости: на какой операции, у каких пользователей и с какой периодичностью происходит падение.

Частые ошибки при работе с дампами

Типичные ошибки
01
Попытка открыть .dt текстовым редактором и вывод о «битом файле» из-за нечитаемых символов — это нормальный бинарный формат, а не повреждение
02
Снятие дампа 32-битного процесса 64-битным инструментом и наоборот — стеки получаются бессмысленными; используйте ProcDump соответствующей разрядности
03
Анализ дампа без символов — стек из голых адресов не даёт информации, всегда настраивайте .symfix в WinDbg
04
Загрузка .dt в рабочую базу «на минуточку посмотреть» — данные рабочей базы теряются безвозвратно
05
Снятие дампа уже завершившегося процесса — после падения процесса нет, дамп нужно настроить заранее (ProcDump -e или WER)

Отдельно стоит упомянуть разрядность: если клиент 1С 32-битный, а дамп снят 64-битной утилитой, WinDbg покажет искажённые стеки. Признак — нереалистичные адреса и отсутствие знакомых модулей. Решение — переснять дамп инструментом той же разрядности, что и процесс.

Как проверить, что анализ дал результат

Контрольные точки

Контрольные точки

Стек падения в WinDbg
Норма

Видны читаемые имена функций и модулей, понятен модуль-источник исключения

Тревожный признак

Сплошные адреса без имён — не настроены символы или дамп снят с ошибкой

Загрузка .dt в пустую базу
Норма

База открывается, версия конфигурации соответствует ожидаемой, данные на месте

Тревожный признак

Ошибка формата при загрузке — файл повреждён или это не файл выгрузки

Размер дампа памяти
Норма

Полный дамп сопоставим с потреблением памяти процесса

Тревожный признак

Дамп в несколько килобайт — снят некорректно или процесс успел завершиться

Повторяемость сбоя
Норма

После анализа понятен сценарий воспроизведения

Тревожный признак

Дамп единичный, сценарий неизвестен — настройте автоматический сбор на будущее

Если анализ зашёл в тупик, не удаляйте дамп: сохраните его вместе с версией платформы, конфигурацией режима работы (файловый/клиент-серверный) и описанием действий пользователя. Этот комплект понадобится и при обращении в поддержку, и при повторном анализе после обновления платформы.

FAQ

Можно ли посмотреть дамп 1С без установки программ?

Частично. Файл .dt можно исследовать в любом hex-редакторе, включая портативные версии, — видны имена метаданных и структура. Дамп памяти .dmp без отладчика осмысленно не открыть: максимум — определить по сигнатуре MDMP, что это дамп Windows. Для анализа всё равно понадобится WinDbg или DebugDiag.

Чем открыть дамп, если 1С работает на Linux-сервере?

Сервер 1С на Linux при падении создаёт core-файлы. Их анализируют отладчиком gdb на том же или аналогичном сервере командой вида gdb /путь/к/rphost /путь/к/core. Стеки читаются по тем же принципам, что и в WinDbg: ищут поток с исключением и модуль-источник.

Файл .dt не загружается с ошибкой формата — он испорчен?

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

Можно ли извлечь пароли или данные пользователей из дампа памяти?

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

Что лучше для новичка: WinDbg или DebugDiag?

Для первого знакомства — DebugDiag: он сам формирует отчёт с перечнем потоков, исключением и подозрительными модулями. WinDbg даёт больше возможностей, но требует понимания стеков и команд отладчика. Разумный путь — начать с отчёта DebugDiag и переходить к WinDbg, когда отчёта недостаточно.

Как настроить автоматическое создание дампа при каждом падении 1С?

Два рабочих способа: включить запись дампов в настройках технологического журнала через logcfg.xml (элемент dump с указанием каталога) либо запустить ProcDump с ключом -e для нужного процесса. Дополнительно Windows Error Reporting можно настроить через реестр (ключ LocalDumps) на сохранение дампов всех падающих приложений.

Итог

Что важно запомнить

Сначала определите тип файла: .dmp анализируют отладчиками (WinDbg, DebugDiag), .dt загружают в пустую базу через конфигуратор. Для зависшего процесса дамп снимают ProcDump или Process Explorer. Всегда работайте с копиями файлов, настраивайте символы перед анализом стеков и никогда не загружайте выгрузку в рабочую базу.