[解決済み] エラー時にRスクリプトの行番号を取得するには?
2022-09-15 22:33:22
質問
長い R スクリプトをコマンドラインから実行する場合 (
R --slave script.R
) から実行する場合、エラー時に行番号を表示させるにはどうしたらよいでしょうか。
可能な限りスクリプトにデバッグコマンドを追加したくないので、Rが他のほとんどのスクリプト言語と同じように動作するようにしたいのです。
どのように解決するのですか?
これは行番号を教えてくれませんが、コールスタックのどこで失敗が起こったかを教えてくれるので、非常に役に立ちます。
traceback()
[編集] コマンドラインからスクリプトを実行する場合、1つか2つの呼び出しをスキップする必要があります。 traceback() for interactive and non-interactive R sessionsを参照してください。
私は、通常のデバッグの容疑者なしでこれを行うための他の方法を知らないのです。
- debug()
- ブラウザ()
- options(error=recover) [その後にoptions(error = NULL)で元に戻す] 。
[編集:]
すみません...今見たら、コマンドラインから実行しているようですね。 その場合、options(error) 機能で作業することをお勧めします。 以下は簡単な例です。options(error = quote({dump.frames(to.file=TRUE); q()}))
エラー状態のスクリプトはいくらでも凝ったものが作れるので、デバッグのために必要な情報を決めておけばよいでしょう。
その他、気になる部分(データベースへの接続など)があれば、tryCatch()関数でくくる。
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] Node.js の console.log() で '[Object]' ではなく、完全なオブジェクトを取得するにはどうすればよいですか?
-
[解決済み] PHPで有用なエラーメッセージを得るにはどうしたらよいですか?
-
[解決済み] コマンドラインからRスクリプトを実行する
-
[解決済み] デバッガとは何ですか、またデバッガはどのように問題の診断に役立ちますか?
-
[解決済み] gdb: 現在の行を表示したり、現在の行番号を見つけるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン