Отладка циклов - PullRequest
       8

Отладка циклов

10 голосов
/ 02 ноября 2010

Для некоторых текущих проектов я работаю с несколькими довольно большими структурами данных (в области 10K элементов).Чтобы получить доступ к этим данным в списках, мне нужно использовать циклы и итераторы, что может быть проблемой, когда проблемная область находится во второй половине списка.

Итак, я провожу много времени пальцем на кнопке F8 в отладчике Eclipse, чтобы пройтись по каждому элементу итерационного цикла.Это становится еще хуже, когда приходится проходить через этот конкретный раздел несколько раз, чтобы понять, почему код реагирует определенным образом.

Если у вас есть общее представление о том, сколько раз цикл должен выполняться перед проблемной областьюударил, есть ли способ установить точку останова цикла для выполнения до этой точки, а затем сделать паузу?

Ответы [ 3 ]

15 голосов
/ 02 ноября 2010

Использовать условные контрольные точки.

http://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F

3 голосов
/ 02 ноября 2010

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

if (loopIndex == 1000) {
  int number = 14;            //Break here
}
0 голосов
/ 18 февраля 2014

Используя это в качестве примера:

for(int i=0;i<10000;i++){
    System.out.println(i);
}

Установите точку останова на линии печати, затем щелкните правой кнопкой мыши по ней и выберите Breakpoint Properties....Отсюда вы можете установить условие для запуска точки останова.Это похоже на условие, которое вы бы имели в выражении if.Если вы хотите активировать точку останова, когда я равняюсь 6000, установите флажок Conditional и попробуйте следующее: enter image description here

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