Поддерживают ли какие-либо R IDE условные точки останова?
, который, если таковые имеются, Р Иды (например, государственного, переворота Р, в RStudio, ЕСС NppToR, другие) поддерживает условные точки останова?
Это доступно черезbp
в пакете debug
или через дополнительный бит кода, который вызывает browser()
на основе условия. Тем не менее, может быть более эффективным иметь возможность переключать определенную строку # и быстро вводить условную точку останова для этой конкретной строки, не имея дополнительного кода или консольных действий.
Примечание 1. Я искал ... bit для них, и кажется, что условные точки останова недоступны в RStudio, и я думаю, что то же самое может быть верно для StatET. Кажется, что в ESS есть поддержка (см. эту страницу), хотя я еще не знаком с ess-tracebug и легко ли его использовать. Также кажется, что это работает только для более старых версий ESS; я еще не знаком с функциональностью для более поздних версий.
Обновление 1. Я выбираю ответ (единственный - Андри). Вопрос заключался в следующем ответ на вопрос, поддерживает лилюбую IDE условные точки останова, и, к счастью, Андри продемонстрировал, что решение существует. Я по-прежнему заинтересован в любых других Идах, которые поддерживают это, хотя Eclipse пока достаточно хорош. (На данный момент я предпочитаю Rstudio, но это уже есть в их списке запросов функций.) Если кто-то имеет опыт в ESS и может продемонстрировать эту функциональность, я уверен, что это принесет пользу другим, кто столкнется с этим вопросом.
3 ответа:
Да, это возможно с помощью
Eclipse
+StatET 2.0
вR 2.14-1
.
Eclipse
поддерживает условную отладку, иStatET 2.0
поддерживает визуальную отладку (если у вас есть довольно свежая версия R.)Предполагая, что вы знаете, как обойти Eclipse, сделайте следующее:
- запуск сеанса отладки в Eclipse (т. е. вызов конфигурации отладки, а не конфигурации запуска)
- установите точку останова в коде
- откройте отладочную перспективу
- запускайте свой код
С открытой перспективой отладки у вас будет панель, содержащая вкладки для
Variables / Breakpoints
. На вкладке точки останова выберите точку останова, затем установите флажокConditional / Expression
и введите условие.В поисках этого ответа я нашел следующие страницы полезными:
Предварительный выпуск RStudio v0. 98 имеет эту функцию: http://www.rstudio.com/ide/docs/debugging/overview
Единственным недостатком является то, что ваша функция должна находиться в одном файле с вашим основным кодом, если вы хотите установить точку останова в вашей функции.