Java: отладчик не останавливается в файлах классов сторонних API - PullRequest
0 голосов
/ 15 марта 2012

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

Для этого из их jar я взял все исходные файлы (файлы Java) с помощью декомпилятора jd-GuI и сгенерировал эти исходные файлы для этого конкретного файла Jar из Eclipse, но когда я попытался поместить Poing Break внутриэтот конкретный файл класса в Eclipse, отладчик не останавливается там.

Может кто-нибудь, пожалуйста, дайте мне знать, как решить эту проблему?

Большое спасибо.

Ответы [ 2 ]

1 голос
/ 15 марта 2012

«Обычные» точки останова основаны на номере строки источника, поэтому, если ваш источник отключен хотя бы на одну строку, точки останова не будут работать должным образом.Строка, которую вы думаете , на которую вы ставите точку останова, может быть пустой строкой или веткой, которая не выполняется в реальном коде.

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

Решение состоит в том, чтобы каким-то образом получить исходные источники, которые использовались для компиляции имеющихся у вас файлов классов.

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

1 голос
/ 15 марта 2012

Удалите все точки останова и просто оставьте только одну точку останова перед кодом, который вы хотите отлаживать.Eclipse может не поймать точку останова, если API работает в другом потоке.У вас есть исходный код?

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