Я получаю следующую ошибку, когда пытаюсь запустить свой код в отладчике.
EventDispatchThread.run() line: not available [local variables unavailable]
Код очень большой, и я не могу опубликовать его здесь, но в любом случае вот некоторые детали:
Это утверждение кажется сбойным, и я не могу войти в конструктор с помощью отладчика:
Satellite satellite = new Satellite();
Когда я ставлю точку останова в этой строке и пытаюсь перейти в конструктор или перейти через Iполучите ту же ошибку, что и выше.
Вот части реализации класса 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
, если я запускаю его без отладчика.Но в любом случае, разве не должно быть возможным отладку кода, чтобы исследовать настоящую проблему?Почему отладчик аварийно завершает работу с ошибками или исключениями, отличными от запуска без отладчика?
btw: только один поток и последовательное выполнение.
Надеюсь, что кто-то может помочь.
Редактировать 1:
Некоторые дополнительные сведения.Моя рабочая область имеет два проекта.В одной есть основная программа со сателлитом и другие.В другом проекте у меня есть много вспомогательных классов, таких как этот XMLElement.Эта структура работает для многих классов.
Кстати: я могу войти в метод XMLElement.setAttribute, но не могу войти в XMLElement.addElement.
Другая странная вещь заключается в том, чтоSatellite находится в том же проекте, что и основной класс, но также невозможно войти в конструктор.
Может быть, это поможет?