2012-05-19 2 views
1

Я пробовал некоторые из существующих решений, но он не работает.ошибка отладки java eclipse

У меня есть два файла/классы First.java (в котором определяется основной) и Second.java, где определены простые функции.

**First.java:** 

import java.util.*; 

public class First 
{ 
    public static void main(String[] args) 
    { 
     Second s1 = new Second(); 
     s1.Hello(); 
    } 
} 

Когда я отлаживать код выше в затмении, он дает мне ошибку «источник не найден» на линии Second s1 = new Second();

Однако, эта ошибка возникает, если я нажимаю «шаг в». Если я нажимаю «перешагнуть» на вышеупомянутую строку, ошибка не возникает; и если вы нажмете «step into» на последующих шагах, ошибка не повторится, и выполнение успешно войдет во второй файл «Second.java».

Итак, мой вопрос: есть ли способ, чтобы я мог войти в конструктор «Second.java», не перешагнув его?

Как установить путь источника.

Second.java класс:

public class Second 
{ 
    int a; 
    public Second() 
    { 
     this.a=100; 
    } 

    public void Hello() 
    { 
     System.out.println("hello how are you"); 
    } 

    public int GetResult() 
    { 
     return a; 
    } 


} 
+0

Кто-нибудь, пожалуйста? –

+0

Где именно находится Second.java? Это в другом файле Jar? Другой проект? –

ответ

1

Проблема заключается в том, когда вы шаг в "линии, когда создается второй объект, он просит, чтобы загрузить загрузчик классов второго класса. Поскольку у вас, вероятно, нет настройки eclipse, указывающей на расположение источников java, eclipse не знает, где на вашем компьютере находится исходный код java для всех файлов, которые vm использует для загрузки класса, включая java.lang.ClassLoader, и eclipse показывает вам страницу «Источник не найден».

Вы можете:

  1. Переместить точку останова от линии Second s1 = new Second(); в First.java к public Second() в Second.java. Затем, когда вы отлаживаете, вы должны нажать точку останова после Второй объект был загружен виртуальной машиной, и вы должны иметь возможность отлаживать конструктор по мере его возникновения.
  2. Когда вы переходите в «точку останова на линии Second s1 = new Second(); и получаете страницу источника не найдена, сразу же« step return », а затем снова нажмите« step into », что приведет вас к конструктору второго класса.
  3. Нажмите, чтобы подключить источник и перейдите в каталог исходных файлов java. Они обычно включаются в загрузку JDK и находятся в файле src.zip в папке установки вашей виртуальной машины (для виртуальной машины Sun).
0

Источник, не найденный обычно означает, что Eclipse не может найти необходимые файлы. Является ли Second.java в вашем проекте? Лучше всего сделать такой пакет, как me.russjr08.projects. Таким образом, Eclipse может выполнять поиск по пакету (предполагая, что все правильные файлы есть) и найти файлы класса/java, которые вы хотите использовать.

IIRC Другое решение - включить Second.java в папку src

Смежные вопросы