2015-01-19 3 views
0

나는 기대했던 것을 던지지 않는 R 스크립트를 가지고있다. 그러나 모든 방법을 통해 실행됩니다. 이 문제를 해결하기 위해 디버그 모드로 들어가기 위해 중단 점을 설정해 보았습니다.RStudio에서 디버깅하면 오류가 발생합니다.

debugSource('~/mycode/konfio/Projects/Interest Rates/src/getPARS.R', echo=TRUE) 
Error in if (length(funBody[[idx]]) != length(originalFunBody[[idx]]) || : 
missing value where TRUE/FALSE needed 

나는이 오류를 봤 있지만 도움이되지 않았다 하나 개의 링크를 발견했습니다 :이 작업을 수행 할 때

는하지만, 난라는 오류가 발생합니다. 어떤 사람이 디버거 또는 다른 곳에서 문제를 검색 할 수있는 방법을 알고 있다면 감사 할 것입니다.
감사합니다.

답변

1

RStudio의 중단 점은 디버그 코드를 포함하도록 함수를 다시 작성함으로써 작동합니다. 이 문제의 가장 큰 원인은 RStudio에서 사용자 함수를 다시 작성하지 못하게하는 버그입니다. 가능한 해결책은 몇 가지가 있습니다.

  1. 디버그하려는 문만 제거하고 별도의 기능을 사용하십시오. 해당 함수에 중단 점을 설정하고 기본 스크립트에서 호출하십시오.

  2. browser() 기반 디버깅 사용 : browser()에 중단 점을 설정하면 (RStudio의 디버거는 R 디버깅 기능과 함께 작동 함) 추가하십시오.

  3. 최신 버전의 RStudio를 사용하십시오. 디버깅 R 스크립트 (함수와 반대)는 최근 많이 개선되었으며, 특히 용감한 느낌이들 경우 daily build을 사용해보십시오. 당신은 시간이 있다면

, 당신은 RStudio의 support forum에 문제가있는 파일의 내용을 게시하시기 바랍니다; 우리는 다음 버전에서 수정을 할 수 있는지 살펴보고 싶습니다.

+0

답장을 보내 주셔서 감사 드리며 소프트웨어를 개발해 주셔서 감사합니다. 문제가 어디 있는지 알기 전에 문제가 해결되었습니다. 다시 생각해 보면 포럼에 게시하는 것을 잊지 않을 것입니다. – Diego

+0

# 조나단 나는 나의 벌레로 돌아왔다. RStudio에 게시했지만 첨부 파일 섹션 o.O를 찾지 못했습니다. 여기 링크가 있습니다. https://support.rstudio.com/hc/communities/public/questions/202682497-Setting-a-breakpoint-throws-error – Diego

관련 문제