Я получаю следующую ошибку, когда пытаюсь запустить свой код в отладчике.
EventDispatchThread.run() line: not available [local variables unavailable]
Код очень большой, и я не могу опубликовать его здесь, но, тем не менее, вот некоторые подробности:
Кажется, что этот оператор дает сбой, и я не могу войти в конструктор с помощью отладчика:
Satellite satellite = new Satellite();
Когда я помещаю точка останова в этой строке и попытаться войти в конструктор или перейти через него, я получаю ту же ошибку, что и выше.
Вот части реализации класса Satellite:
package tags;
import main.*;
import xml.*;
public class Satellite extends XMLElement {
public static final String[] ATTRIBUTES = {
"XmlFileVersion",
"SatelliteName",
"xmlns:xsi=@xmlns_xsi",
"xsi:noNamespaceSchemaLocation=@xsi_noNamespaceSchemaLocation"
};
public Satellite() {
super(ATTRIBUTES);
setTopLevelElement();
setAttribute("XmlFileVersion",ValueCenter.Satellite_XmlFileVersion());
setAttribute("SatelliteName",ValueCenter.Satellite_SatelliteName());
addElement(new SubSystemList());
}
}
Я локализовал проблему где-то в строке addElement (new SubSystemList ());
. Я добавил точку останова здесь и снова попытался войти или перейти, и теперь я получил исключение ClassNotFoundException
. Курсор отладки переходит в пустое окно, где «Источник не найден». написан, но исходный код доступен на 100%, и я также получил соответствующие файлы .class. Другое дело, что Eclipse IDE не выдает ошибок при проверке синтаксиса.
Я этого не понимаю. Что может вызвать эти ошибки и почему я не могу использовать отладчик для просмотра вызовов методов?
Я обновил Eclipse Helios SR1 для Java Devs и установил последнюю версию java на свой компьютер.
Я знаю, что у кода здесь есть бесконечный цикл, потому что я получаю исключение StackOverflowError
, если запускаю его без отладчика. Но в любом случае, разве нельзя отладить код, чтобы исследовать настоящую проблему? Почему отладчик дает сбой с другими ошибками или исключениями, кроме запуска отладчика?
Кстати: только один поток и последовательное выполнение.
Надеюсь, кто-то может помочь.
Редактировать 1:
Некоторая дополнительная информация. В My Workspace есть два проекта. В одних основная программа со спутником и в других. В другом проекте у меня много вспомогательных классов, подобных этому XMLElement. Эта структура работает для многих классов.
Кстати: я могу перейти к методу XMLElement.setAttribute, но не могу перейти к XMLElement.addElement.
Еще одна странность заключается в том, что Satellite находится в том же проекте, что и основной класс, но также невозможно войти в конструктор.
Может быть, это поможет?