Как настроить Eclipse для остановки на линии, в которой произошло исключение? - PullRequest
20 голосов
/ 18 марта 2010

Как настроить Eclipse для остановки в точке, где произошло исключение.

У меня есть настройка точки останова Eclipse для исключения из исключения. В приведенном ниже примере кода Eclipse пытается открыть исходный код Integer. Есть ли какой-нибудь способ просто сделать перерыв отладчика в точке, показанной в моем примере кода? Если я перейду вниз по трассировке стека, я попаду на эту строку, было бы неплохо, если бы был способ сделать это без появления окна «Источник не найден».

Это можно сделать в Visual Studio, поэтому я схожу с ума от того, что не могу найти способ сделать это в Eclipse.

package com.test;

public class QuickTest
{
  public static void main(String[] args)
  {
    try
    {
        test();
    }
    catch(NumberFormatException e)
    {
        System.out.println(e.getMessage());
    }
 }

  private static void test()
  {
    String str = "notAnumber";

    Integer.parseInt(str);//<----I want debugger to stop here
  }
}

Ответы [ 4 ]

35 голосов
/ 18 марта 2010

Я не уверен, как еще туда добраться, но я просто делаю:

Window -> Show View -> Breakpoints

И на этой вкладке есть "J!" это позволяет вам устанавливать контрольные точки для исключений.

6 голосов
/ 18 марта 2010

Настройки -> Java -> Отладка -> Шаговая фильтрация Выберите пакеты, которые вы хотите отфильтровать при отладке (java.*, sun.*, etc) При отладке убедитесь, что выбрана маленькая ступенчатая стрелка фильтрации.

Это должно сработать.

3 голосов
/ 18 марта 2010
  1. Разве вы не можете просто установить точку останова на линии Integer.parseInt(str)?
  2. Если вы указываете, что ваш проект Eclipse использует JDK вместо JRE, он должен подобрать исходный код для всех классов платформы (Integer и т. Д.).
2 голосов
/ 18 марта 2010

Представление Debug покажет весь стек текущего выполнения. Вам нужно выбрать строку, которую вы хотите увидеть. Он будет таким же, как у вас там была точка останова, вы можете видеть все переменные и т. Д.

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