2011-02-17 9 views
0

可能性の重複:
General suggestions for debugging R?Rパッケージ関数がどこで失敗するのかをどのように追跡するのですか?

Rパッケージから機能を呼び出すときに、私はエラーが発生しました。簡単に説明すると、

> library(treemap) 
> ... 
> tmPlot(X,index=c("r1","r2","r3","r4"),vSize="size") 
Error in if (maxI == 1) { : missing value where TRUE/FALSE needed 

This SO質問はさらに詳しく述べています。

ソースコードtmPlotを調べるには、RプロンプトでtmPlotと入力しますが、失敗した行は機能には表示されません。つまり、tmPlotという関数で失敗していると思います。

これを追跡するには、どのような方法が最適ですか?たとえば、何とかスタックトレースを生成できますか?インタラクティブなデバッガがありますので、どこでエラーが発生したかを確認してみてください。

+2

重複によって提供されるいくつかの基本的な機能があり、[Rをデバッグするための一般的な提案?](http://stackoverflow.com/questions/4442518/general-suggestions-for-debugging-r)と[R言語のデバッグツール](http://stackoverflow.com/questions/1169480/debugging-tools-for-the-r-language)と[あなたの好きなRのデバッグの秘訣は何ですか?](http://stackoverflow.com/questions/1882734/what-is-your-favorite-r-debugging-trick) –

+0

"パッケージ"はライブラリではありません。 – Spacedman

+1

@Spacedman - 固定 –

答えて

1

トレースバックはコールスタックを出力します。

traceback() 

さらに、デバッグ機能のオンラインヘルプをご覧ください。私はより良いインタラクティブデバッガを見てきましたが、デバッグ()、debugonce()とは、undebug()の

?base::debug 
関連する問題