2010-11-23 11 views
5

ブラウザコールを終了すると、関数内の関数をデバッグしている想像してみてください。レベル2(Browser [2])になります。レベル2を終了してレベル1に行く方法はありますか? Qはあなたのデバッグを中止しますので、私は現在のレベルを終了するだけのものを探しています。あなたはレベル2関数本体に変更することができる場合ツイスト

+0

あなたは私たちにあなたがブラウザを取得する方法の例を与える[2]プロンプトはできますか?関数内のネスト関数のすべての私の努力は私が得ることができるすべては、[1]プロンプトブラウザです...私はそれを見てきた確信しているため... – Spacedman

+0

私はRTERMを使用しています。あなたは何を使うのですか? –

答えて

2

、それはエラーをスローしてもらいます。次に、エラーオプションをrecoverに設定します。今度は、あなたが望むように機能間を移動することができます。

foo <- function() bar() 
bar <- function() stop("start debug here") 

options(error = recover) 
foo() 
+0

別の方法は、あなたがあなたの関数を実行することを確実にするまで、 'browser(); stop()'をすることです。あなたは 'stop()'を削除してあなたのところに来てください。変更を 'source()'することを忘れないでください。 –

2

cはお探しですか?現在のレベルの実行を継続し、レベル1に戻ります。おそらく、レベル2で実行されていたものがすべて終了して、レベル1が一貫した状態になることを望みますか?

+0

のもう一つの方法は、私が欲しいものをやってますが、のは(私の場合のように、実行は時間を持続することを想像して)私は前に辞めたいとしましょう。 –

関連する問題