Как мне сказать удаленному отладчику на самом деле приостановить в какой-то момент?

Я использую отладчик IntelliJ Idea, и у меня есть какое-то стороннее приложение с его источниками (не должно иметь значения, но оно гипер). Мне нужно посмотреть, когда выполняются некоторые методы и проследить процесс выполнения. Я успешно подключился к приложению с помощью удаленной отладки приложения, но не могу понять, что делать дальше. O_o

Можно приостановить приложение, но как прикрепить исходники и сообщить ему, когда именно приостановить (вызов метода / строка кода / и т. Д.)?

РЕДАКТИРОВАТЬ: В качестве альтернативы я мог бы использовать затмение (не имеет значения, что использовать, если он работает).

EDIT2: Это не один из моих проектов / модулей / что угодно.

3 ответа

Решение

Откройте исходный код в редакторе и установите точку останова.

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

[РЕДАКТИРОВАТЬ] Создайте небольшой проект, который содержит источники и все файлы JAR. Это должно скомпилировать без ошибок и позволить вам установить точки останова.

В Eclipse вы можете прикреплять источники к JAR-файлам. Таким образом, вы можете установить точки останова.

Для отладки удаленного приложения вам нужны его источники в вашем проекте eclipse (независимо от IDE). А затем просто установите точки останова и запустите удаленный отладчик с соответствующим портом.

Возможно ли, что исходный код не синхронизирован с исполняемым кодом? У меня было такое раньше, так что точка останова, которую я установил, была на самом деле неисполняемой строкой (пробел, комментарий) в соответствии с версией кода на удаленной машине.

Единственный раз, когда я видел что-то подобное, было, когда на удаленной машине было запущено несколько JVM, и я случайно подключился к неправильному порту (и, следовательно, к неправильной JVM).

Когда вы отлаживаете, красная точка, которая представляет точку останова, должна немного измениться, как она выглядит во время отладки? Например, если строка неисполняемая, я думаю, что будет точка X сверху точки.

Другие вопросы по тегам