Если вы столкнулись с проблемой

Если в процессе работы вы столкнулись с проблемой или у вас есть сомнения в том, что 1C:EDT работает правильно, вы можете предпринять следующие действия.

Панель «Состояние»

Если вам кажется, что ничего не происходит, откройте панель Состояние или посмотрите в правый нижний угол основного окна. Возможно, 1C:EDT занята работой, просто вы этого не замечаете.

Известные проблемы и способы их решения

Если вы столкнулись с непонятным сообщением, посмотрите список известных проблемных ситуаций.

Неисправности редакторов

Если вам кажется, что один из редакторов работает неправильно, вам может помочь следующая последовательность действий:

Очистка проекта

Одной из причин неправильной работы могут являться нарушения в модели проекта. Вы можете построить проект заново.

Для этого нажмите Проект > Очистить... в главном меню основного окна.

Здесь вы можете выбрать проект, который нужно очистить. Или вы можете очистить все проекты сразу.

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

Перезапуск 1C:EDT

Другой причиной неправильной работы могут являться нарушения в работе сервисов, обслуживающих модели проектов. В этом случае может помочь перезапуск 1C:EDT.

Чтобы сделать это, нажмите Файл > Перезапустить в главном меню основного окна.

Журнал ошибок для технической поддержки

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

Чтобы сформировать этот файл, перейдите в панель Протокол ошибок и нажмите Экспортировать лог.

Этот же протокол ошибок содержится в файле .log в папке .metadata, которая находится в вашей текущей рабочей области.

Для анализа неправильной работы 1C:EDT Start могут понадобиться LOG-файлы, которые находятся в следующих каталогах:
  • ОС Windows: C:/Users/<имя_пользователя>/AppData/Local/1C/1cedtstart/logs/
  • ОС Linux: ~/.local/share/1C/1cedtstart/logs/
  • ОС MacOS: ~/Library/Application Support/1C/1cedtstart/logs/

Быстро открыть этот каталог вы можете из настроек 1C:EDT Start (Журнал приложения).

Если 1C:EDT «зависла»

Если 1C:EDT долгое время не реагирует на ваши действия и нет никаких видимых оповещений о том, что выполняется какое-то длительное действие, то можно считать, что 1C:EDT «зависла». В этом случае для расследования ошибок мы рекомендуем сразу, не дожидаясь ответа от разработчиков, снять дамп потоков и дамп памяти, чтобы передать их в службу технической поддержки.

Дамп потоков

Обычно для расследования «зависаний» хватает дампа потоков выполнения приложения. Чтобы снять дамп потоков, вы можете воспользоваться стандартной утилитой jstack, которая входит в состав Java Development Kit ( JDK). Для снятия дампа потоков необходимо выполнить в командной строке:

jstack -l 22668 > threaddump.txt

Здесь 22668 — это PID (process identifier) процесса javaw.exe. Вы можете узнать его через диспетчер задач (в зависимости от операционной системы).

Также получить PID можно из командной строки или используя терминал:

Как правило, требуется дамп процесса javaw.exe, но если файл конфигурации запуска 1C:EDT (1cedt.ini) не изменялся, то нужен дамп оригинального процесса 1cedt.exe.

Путь и имя файла выгрузки дампа в приведенном примере указан после символа «>». Если указано только название файла, то дамп сохранится в директории, из которой была запущена командная строка или терминал.

Если процесс выгрузки дампа прошел успешно, то никаких дополнительных сообщений не возникнет. А при возникновении проблем будет показано сообщение об ошибке. Например, если не найден PID, то будет выведено сообщение:
<PID>: no such process

Если выполнение предыдущей команды jstack -l приводит к сбою подключения, тогда необходимо запустить утилиту с флагом -F:

jstack -F 22668 > threaddump.txt

Полученный файл threaddump.txt (дамп потоков) необходимо передать в службу технической поддержки.

Важно: Утилиту jstack нужно запускать от имени того же пользователя, что и инспектируемое приложение.
Совет: Документация по утилите jstack находится здесь.

Дамп памяти

Чтобы снять дамп памяти, вы можете воспользоваться стандартной утилитой jmap, которая входит в состав Java Development Kit ( JDK). Для снятия дампа памяти необходимо выполнить в командной строке:

jmap -dump:format=b,file=memorydump.hprof 22668

Здесь 22668 это PID (process identifier) процесса javaw.exe. Вы можете узнать его через диспетчер задач (в зависимости от операционной системы).

Также получить PID можно из командной строки или используя терминал:

Как правило, требуется дамп процесса javaw.exe, но если файл конфигурации запуска 1C:EDT (1cedt.ini) не изменялся, то нужен дамп оригинального процесса 1cedt.exe.

Путь и имя файла выгрузки дампа в приведенном примере указан в параметре «file=». Если указано только название файла, то дамп сохранится в каталоге, из которого была запущена командная строка или терминал.

Если процесс выгрузки дампа прошел успешно, то будет показано сообщение:
Heap dump file created
При возникновении проблем будет показано сообщение об ошибке. Например, если не найден PID, то будет выведено сообщение:
Exception in thread "main" java.io.IOException: no such process 

Если выполнение предыдущей команды jmap -dump приводит к сбою подключения, тогда необходимо запустить утилиту с флагом -F:

jmap -dump:format=b,file=memorydump.hprof -F 22668

Полученный файл memorydump.hprof (дамп памяти) необходимо передать в службу технической поддержки.

Совет: Документация по утилите jmap находится здесь.

Как закрыть «зависшую» 1C:EDT

Когда все необходимые дампы получены, вы можете закрыть 1C:EDT. Если интерактивно это сделать не получается, вы можете либо воспользоваться диспетчером задач (в зависимости от операционной системы), либо завершить процесс, выполнив в командной строке:

kill -f 22668

Здесь 22668 это PID (process identifier) процесса 1C:EDT.