Отладчик Intellij не останавливается на контрольных точках

Я должен делать что-то не так. Я новичок в intellij. Переход от затмения. У меня есть приложение JAX WS, которое работает в weblogic. Артефакт для развертывания - это файл уха. Я изо всех сил пытаюсь получить отладчик при работе с intellij. У меня есть окончательное издание. Я создал конфигурацию отладки запуска, но она просто проходит через код и не останавливается в моем желаемом месте. Отладчик показывает красную точку без проверки или креста.

Изменить. Я запускаю локальную конфигурацию запуска/отладки.

Вот скриншот моей конфигурации запуска/отладки.

enter image description here

Вот скриншот запуска/подключения

enter image description here

Ответ 1

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

  • Я использую eclipse для разработки и локальной установки экземпляра weblogic. Моему приложению нужен сервер кеширования когерентности, и у меня есть несколько других параметров JVM, которые я передаю при запуске домена. Поэтому я добавил строку в начале файла $DOMAIN_HOME/bin/setDomainEnv.sh, например,

    JAVA_OPTIONS="- Dtangosol.coherence.distributed.localstorage=false -Dtangosol.coherence.wka=devmachine and blah blah blah

  • Я переключился на intellij и начал работать над этим проектом, а затем настроил плагин weblogic и запустил конфигурацию и т.д.

  • Я заметил, что intellij добавляет JAVA_OPTIONS на вкладку запуска/подключения в Конфигурации запуска/отладки, например,

enter image description here

  1. Однако JAVA_OPTIONS, который передавался intellij, не использовался weblogic. Я считаю, что это было переопределено тем, что было в setDomainEnv.sh, поэтому я увидел следующие журналы.

java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode) Starting WLS with line: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -client -Xms512m -Xmx512m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -Djava.security.policy=/Users/dparupud/omw/oracle/middleware/weblogic_10.3.6/wlserver_10.3/server/lib/weblogic.policy -Dtangosol.coherence.distributed.localstorage=false -Dtangosol.coherence.wka=devmachine blah blah blah......

  1. Когда я пошел и удалил JAVA_OPTIONS из setDomainEnv.sh и перезапустил сервер из intellij, я увидел следующий журнал

starting weblogic with Java version: java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode) Starting WLS with line: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -client -Xms512m -Xmx512m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -Djava.security.policy=/Users/dparupud/omw/oracle/middleware/weblogic_10.3.6/wlserver_10.3/server/lib/weblogic.policy - agentlib:jdwp=transport=dt_socket,address=127.0.0.1:65501,suspend=y,server=n

Теперь журнал показал, что агент jdwp находится в действии. Я заметил, что я не видел этот конкретный журнал, прежде чем я задал Вопрос о SO, но я подумал, что, возможно, IntelliJ что-то делал внутри обложки, потому что JAVA_OPTIONS передавался, и intellij не позволяет вам возиться с этим (это только для чтения).

Я думаю, я могу либо передать все мои параметры jvm, либо из intellij, либо добавить информацию агента jdwp в setDomainEnv.sh.

Теперь я могу отлаживать.

Ответ 2

Чтобы настроить отладку WebLogic на IntelliJ:

  • Найти порт отладки WebLogic: это порт в WebLogic, открытый для отладки. Отладочный порт по умолчанию - 8453, но если он был изменен, вы можете найти его в файле config.xml(в папке config в доме вашего домена) или в файле setDomainEnv.sh для DEBUG_PORT (я предполагаю, что это .sh и не .bat as вы, кажется, используете Mac OS X).

  • Конфигурация удаленного отладчика: перейдите в конфигурацию и выберите новое, затем выберите "Remote", введите любое имя, которое является разумным, и под ним (оранжевый блок на изображении) введите значение, которое вы нашли в 1. Для хоста (зеленого блока) типа localhost [сторона примечания: вы можете подключиться к удаленному серверу, набрав имя или IP-адрес сервера, если открыт порт отладки].

  • Начать отладчик: Запустите настроенную конфигурацию отладки, откроется окно отладки, и если порт будет прав, он скажет, что он подключен к удаленному хосту, и вы хорошо отлаживаете его.

IntelliJ remote Debugger

- Изменить 1 -

Снова прочитайте свой вопрос, пропустив часть о том, что вы уже установили удаленную конфигурацию.

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

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

- Изменить 2 -

Добавлено изображение для настроек удаленного отладчика

Ответ 3

Удаление конфигурации и создание новой решило это для меня.