簡體   English   中英

任何R IDE都支持條件斷點嗎?

[英]Do any R IDEs support conditional breakpoints?

哪個(如果有的話)R IDE(例如StatET,Revolution R,RStudio,ESS,NppToR等)支持條件斷點?

這可以通過debug包中的bp ,也可以通過基於條件調用browser()的其他代碼來獲得。 但是,能夠切換特定行#並快速輸入該特定行的條件斷點可能更有效,而無需額外的代碼或控制台活動。


注意1.我已經搜索了一些這些,似乎RStudio中沒有條件斷點,我認為對於StatET也是如此。 ESS似乎有支持(參見本頁 ),雖然我還不熟悉ess-tracebug以及它是否易於使用。 它似乎也適用於舊版本的ESS; 我還不熟悉更新版本的功能。


更新1.我正在選擇一個答案(唯一一個 - 安德里的)。 問題是關於任何 IDE是否支持條件斷點的問題,並且幸運的是,Andrie已經證明存在解決方案。 我仍然對支持這一點的任何其他IDE感興趣,盡管Eclipse現在已經足夠好了。 (目前,我更喜歡Rstudio,但這已經在他們的功能請求列表中。)如果任何人都具有ESS的專業知識並且可以展示該功能,我相信它會使在這個問題上發生的其他人受益。

是的,這可以通過R 2.14-1 Eclipse + StatET 2.0 R 2.14-1

Eclipse支持條件調試,而StatET 2.0支持可視化調試(只要你有一個相當新的版本的R.)

假設您了解Eclipse的方法,請執行以下操作:

  • 在Eclipse中啟動調試會話(即調用Debug配置,而不是Run配置)
  • 在代碼中設置斷點
  • 打開Debug透視圖
  • 運行你的代碼

打開調試透視圖后,您將擁有一個包含Variables / Breakpoints選項卡的窗格。 在“斷點”選項卡中,選擇斷點,然后單擊“ Conditional / Expression復選框並輸入條件。

在此輸入圖像描述

在搜索此答案時,我發現以下頁面很有用:

在rstudio中設置條件斷點有一個小技巧:

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

唯一的缺點是你需要添加一些額外的代碼

RStudio v0.98的預覽版具有以下功能: http ://www.rstudio.com/ide/docs/debugging/overview

唯一的缺點是,如果要在函數中設置斷點,則函數應與主代碼位於同一文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM