Отладчик Mac RStudio [версия 1.4.1106] по-прежнему не работает и показывает «Местоположение отладки приблизительное, поскольку источник недоступен»

Проблема в том, что в RStudio, когда я устанавливаю точку останова для отладки кода, отладчик не входит в мои функции должным образом. Скорее он переносит меня в неизвестные страны и выдает предупреждающее сообщение «Местоположение отладки приблизительное, потому что источник недоступен».

Я вижу похожие вопросы о переполнении стека в прошлом, поднимавшие эту проблему Rstudio. Я также вижу, что проблема поднимается и закрывается на Github, но я все еще сталкиваюсь с этой проблемой в последней версии. Может кто-нибудь предложить исправление или обходной путь?

РЕДАКТИРОВАТЬ:

Вот пошаговое описание проблемы:

  1. У меня есть проект с различными классами и функциями, распределенными по множеству файлов и папок.

  2. Я хотел проследить за вызовами функций из верхнего скрипта. Для этого я установил точку останова в верхней функции. Затем я нашел сценарий.

  3. Отладчик успешно остановился на точке останова. Однако, когда я нажимаю кнопку «Перейти к текущему вызову функции» , отладчик переводит меня к неизвестному коду на языке R вместе с сообщением об ошибке, о котором я упоминал. Глядя на код, кажется, что отладчик переводит меня к базовым функциям R.

Система

      platform       x86_64-apple-darwin17.0     
arch           x86_64                      
os             darwin17.0                  
system         x86_64, darwin17.0          
status                                     
major          4                           
minor          0.5                         
year           2021                        
month          03                          
day            31                          
svn rev        80133                       
language       R                           
version.string R version 4.0.5 (2021-03-31)
nickname       Shake and Throw  

Очевидно, он переходит к некоторому случайному коду и останавливается на нем, например, иногда он останавливается здесь:

      function (expr, msg) 
{
  on <- tracingState(FALSE)
  if (on) {
    on.exit(tracingState(TRUE))
    if (!missing(msg)) {
      call <- deparse(sys.call(sys.parent(1L)))
      if (length(call) > 1L) 
        call <- paste(call[[1L]], "....")
      cat("Tracing", call, msg, "\n")
    }
    exprObj <- substitute(expr)
    eval.parent(exprObj)
  }
  NULL
}

0 ответов

Другие вопросы по тегам