Подтвердить что ты не робот

Поддерживает ли какие-либо R IDE условные точки останова?

Какие, если есть, R IDE (например, StatET, Revolution R, RStudio, ESS, NppToR, другие) поддерживают условные точки останова?

Это доступно через bp в пакете debug или через дополнительный бит кода, который вызывает browser() на основе условия. Тем не менее, более эффективно иметь возможность переключать определенную строку # и быстро вводить условную точку останова для этой конкретной строки без дополнительных действий с кодом или консолью.


Примечание 1. Я немного искал их, и кажется, что условные точки останова недоступны в RStudio, и я думаю, что то же самое может быть верно для StatET. Кажется, что в ESS есть поддержка (см. эта страница), хотя я еще не знаком с ess-tracebug и легко ли это использовать, Также кажется, что это работает только для более старых версий ESS; Я еще не знаком с функциональностью более поздних версий.


Обновление 1. Я выбираю ответ (единственный - Andrie's). Был задан вопрос о том, поддерживает ли какая-либо IDE условные точки останова, и, к счастью, Андри продемонстрировала, что существует решение. Я по-прежнему интересуюсь любыми другими IDE, которые поддерживают это, хотя Eclipse пока достаточно хорош. (На данный момент я предпочитаю Rstudio, но это уже входит в список их функций.) Если у кого-то есть опыт работы в ESS и он может продемонстрировать эту функциональность, я уверен, что это принесет пользу другим, которые могут возникнуть по этому вопросу.

4b9b3361

Ответ 1

Да, это возможно при Eclipse + StatET 2.0 в R 2.14-1.

Eclipse поддерживает условную отладку, а StatET 2.0 поддерживает визуальную отладку (если у вас есть довольно новая версия R.)

Предполагая, что вы знаете свой путь вокруг Eclipse, сделайте следующее:

  • Запустите сеанс отладки в Eclipse (т.е. запустите конфигурацию отладки, а не конфигурацию запуска)
  • Установить контрольную точку в коде
  • Откройте перспективу отладки
  • Запустите свой код

При открытии перспективы отладки у вас будет панель, содержащая вкладки для Variables / Breakpoints. На вкладке точек останова выберите свою точку останова, затем нажмите кнопку Conditional / Expression и введите условие.

enter image description here

В поисках этого ответа я нашел следующие страницы полезными:

Ответ 2

В предварительном выпуске RStudio v0.98 есть эта функция: http://www.rstudio.com/ide/docs/debugging/overview

Единственный недостаток - ваша функция должна находиться в том же файле с вашим основным кодом, если вы хотите установить контрольную точку в своей функции.

Ответ 3

Есть небольшой трюк, чтобы установить условную точку останова в rstudio:

for(i in 1:10){
  if(i==5){
    print("set the breakpoint at this line by shift+f9")
  }
  i*i
}

Единственный недостаток - вам нужно добавить дополнительный код