を使用して R デバッガーにドロップした場合、ドロップされたoptions(error=recover)
場所の周りのコードを確認するにはどうすればよいですか? 例えば:
options(error=recover)
solve(matrix(0, nrow=5, ncol=5))
# Error in solve.default(matrix(0, nrow = 5, ncol = 5)) :
# Lapack routine dgesv: system is exactly singular: U[1,1] = 0
#
# Enter a frame number, or 0 to exit
#
# 1: solve(matrix(0, nrow = 5, ncol = 5))
# 2: solve.default(matrix(0, nrow = 5, ncol = 5))
#
# Selection: 1
# Called from: top level
Browse[1]>
この時点でnまたはreturnを押すと、コード行がまったく表示されずに、再び終了してrecover
プロンプトが表示されます。スタック トレース (type where
) を実行すると、呼び出しチェーンは表示されますが、実際に座っているコード (スタックのどのレベルでも) は表示されません。 [実際、この場合、コードが少し見えますがsolve
、それは、1 つの無名関数がスタックの一部であるため、その名前ではなくその定義を出力する以外に選択肢がないためです。]
任意のヒント?
[編集] 誰かのパッケージ コードで何が起こっているのかを把握する必要があるユース ケースに (特に) 興味があります。私はソースを管理していないので、 を追加できませんbrowser()
。また、ソース ファイルに簡単にアクセスできないため、行番号だけではあまり役に立ちません。私は主に実際のコードを見たいだけです。