Представьте, что вы отлаживаете функцию внутри функции. Вы были бы на уровне 2 (Browser [2]). Есть ли способ выйти из уровня 2 и перейти на уровень 1? Q исключит вас из любой отладки, поэтому я ищу что-то, что просто вышло бы из текущего уровня.
Browser [2]
Q
c то, что вы ищете?Он продолжит выполнение текущего уровня и вернет вас на уровень 1. Предположительно, вы хотите, чтобы все, что было запущено на уровне 2, завершилось, чтобы уровень 1 находился в согласованном состоянии?
c
Если вы можете перейти на тело функции уровня 2, то получите его, чтобы выдать ошибку. Затем установите параметр ошибки на recover. Теперь вы можете перемещаться между функциями по своему усмотрению.
recover
foo <- function() bar() bar <- function() stop("start debug here") options(error = recover) foo()