Если в процессе работы вы столкнулись с проблемой или у вас есть сомнения в том, что 1C:EDT работает правильно, вы можете предпринять следующие действия.
Если вам кажется, что ничего не происходит, откройте панель Состояние или посмотрите в правый нижний угол основного окна. Возможно, 1C:EDT занята работой, просто вы этого не замечаете.
Если вы столкнулись с непонятным сообщением, посмотрите список известных проблемных ситуаций.
Если вам кажется, что один из редакторов работает неправильно, вам может помочь следующая последовательность действий:
Одной из причин неправильной работы могут являться нарушения в модели проекта. Вы можете построить проект заново.
Для этого нажмите
в главном меню основного окна.Здесь вы можете выбрать проект, который нужно очистить. Или вы можете очистить все проекты сразу.
После нажатия ОК выбранные проекты будут очищены, и их внутренняя модель будет построена заново, как при импорте конфигурации из информационной базы:
расчет вычислимых данных,
Другой причиной неправильной работы могут являться нарушения в работе сервисов, обслуживающих модели проектов. В этом случае может помочь перезапуск 1C:EDT.
Чтобы сделать это, нажмите
в главном меню основного окна.Для воспроизведения и анализа неправильной работы техническая поддержка может запросить у вас лог, или протокол ошибок.
Чтобы сформировать этот файл, перейдите в панель Протокол ошибок и нажмите Экспортировать
лог.
Этот же протокол ошибок содержится в файле .log в папке .metadata, которая находится в вашей текущей рабочей области.
Быстро открыть этот каталог вы можете из настроек 1C:EDT Start (Журнал приложения).
Если 1C:EDT долгое время не реагирует на ваши действия и нет никаких видимых оповещений о том, что выполняется какое-то длительное действие, то можно считать, что 1C:EDT «зависла». В этом случае для расследования ошибок мы рекомендуем сразу, не дожидаясь ответа от разработчиков, снять дамп потоков и дамп памяти, чтобы передать их в службу технической поддержки.
Дамп потоков
Обычно для расследования «зависаний» хватает дампа потоков выполнения приложения. Чтобы снять дамп потоков, вы можете воспользоваться стандартной утилитой jstack, которая входит в состав Java Development Kit ( JDK). Для снятия дампа потоков необходимо выполнить в командной строке:
jstack -l 22668 > threaddump.txt
Здесь 22668 — это PID (process identifier) процесса javaw.exe. Вы можете узнать его через диспетчер задач (в зависимости от операционной системы).
Также получить PID можно из командной строки или используя терминал:
tasklist /fi "IMAGENAME eq javaw.exe"
ps axu | grep 1cedt
Как правило, требуется дамп процесса javaw.exe, но если файл конфигурации запуска 1C:EDT (1cedt.ini) не изменялся, то нужен дамп оригинального процесса 1cedt.exe.
Путь и имя файла выгрузки дампа в приведенном примере указан после символа «>». Если указано только название файла, то дамп сохранится в директории, из которой была запущена командная строка или терминал.
<PID>: no such process
Если выполнение предыдущей команды jstack -l
приводит к сбою подключения, тогда необходимо запустить утилиту с флагом
-F:
jstack -F 22668 > threaddump.txt
Полученный файл threaddump.txt (дамп потоков) необходимо передать в службу технической поддержки.
Дамп памяти
Чтобы снять дамп памяти, вы можете воспользоваться стандартной утилитой jmap, которая входит в состав Java Development Kit ( JDK). Для снятия дампа памяти необходимо выполнить в командной строке:
jmap -dump:format=b,file=memorydump.hprof 22668
Здесь 22668 это PID (process identifier) процесса javaw.exe. Вы можете узнать его через диспетчер задач (в зависимости от операционной системы).
Также получить PID можно из командной строки или используя терминал:
tasklist /fi "IMAGENAME eq javaw.exe"
ps axu | grep 1cedt
Как правило, требуется дамп процесса 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 (дамп памяти) необходимо передать в службу технической поддержки.
Когда все необходимые дампы получены, вы можете закрыть 1C:EDT. Если интерактивно это сделать не получается, вы можете либо воспользоваться диспетчером задач (в зависимости от операционной системы), либо завершить процесс, выполнив в командной строке:
kill -f 22668
Здесь 22668 это PID (process identifier) процесса 1C:EDT.