タグ付けされた質問 「stack-trace」

プログラムの実行中の特定の時点におけるアクティブなスタックフレームのレポート。

4
Pythonで同等のe.printStackTrace
print(e)(eは例外です)発生した例外を出力することは知っていますが、Javaに相当するpythonでe.printStackTrace()、例外を発生した行まで正確に追跡し、そのトレース全体を出力するpythonを見つけようとしていました。 誰かe.printStackTrace()がPython の同等のものを教えてくれませんか?

15
C ++は例外時にスタックトレースを表示します
例外がスローされた場合にスタックトレースをユーザーに報告する方法が必要です。これを行う最良の方法は何ですか?大量の追加コードが必要ですか? 質問に答えるには: できれば持ち運びできるようにしたいです。情報をポップアップ表示したいので、エラーが発生した場合、ユーザーはスタックトレースをコピーしてメールで送信できます。


9
rubyで切り捨てられたバックトレースの代わりに完全なバックトレースを印刷するにはどうすればよいですか?
例外が発生した場合、多くの場合、コールスタック内の深いところから発生します。これが発生すると、多くの場合、実際の問題のコード行は私から隠されます。 tmp.rb:7:in `t': undefined method `bar' for nil:NilClass (NoMethodError) from tmp.rb:10:in `s' from tmp.rb:13:in `r' from tmp.rb:16:in `q' from tmp.rb:19:in `p' from tmp.rb:22:in `o' from tmp.rb:25:in `n' from tmp.rb:28:in `m' from tmp.rb:31:in `l' ... 8 levels... from tmp.rb:58:in `c' from tmp.rb:61:in `b' from tmp.rb:64:in `a' from tmp.rb:67 その「... 8レベル...」の切り捨ては、私に多大なトラブルを引き起こしています。私はこれについてググるのにあまり成功していません:完全なスタックをダンプに含めたいことをルビーにどのように伝えるのですか?

10
Javaで例外をスローせずにスタックトレースをダンプする方法はありますか?
Javaアプリケーション用のデバッグツールを作成することを考えています。 のようにスタックトレースを取得することは可能ですか? Exception.printStackTrace()ですか? 私の目標は、特定のメソッドでスタックをダンプして、メソッドの呼び出し元が誰であるかを確認することです。

14
「ソフトウェアによる接続アボート:ソケット書き込みエラー」の正式な理由
このスタックトレーススニペットを考える 原因:java.net.SocketException:ソフトウェアが接続を中止しました: java.net.SocketOutputStream.socketWrite0(Native Method)でのソケット書き込みエラー 私は次の質問に答えようとしました: この例外をスローしているコードは何ですか?(JVM?/ Tomcat?/ My code?) この例外がスローされる原因は何ですか? #1について: SunのJVMソースにはこの正確なメッセージは含まれていませんが、「ソフトウェアによって接続が中止されました」というテキストが表示されると思います。ソケットの書き込みエラーは、SocketOutputStream。 private native void socketWrite0(FileDescriptor fd, byte[] b, int off, int len) throws IOException; #2について 私の推測では、完全な応答を取得する前にクライアントが接続を終了したときに発生します(たとえば、要求を送信したが、完全な応答を取得する前に、閉じられた/終了した/オフラインになった)。 質問: 上記の仮定は正しいですか(#1および#2)? これは「サーバー側のネットワークエラーのため、クライアントに書き込むことができませんでした」という状況と区別できますか?それとも同じエラーメッセージが表示されますか? そして最も重要なこと:上記について述べた公式文書(Sunなど)はありますか? このスタックトレースがソケットクライアントの「障害」であることを証明する必要があります。サーバーがそれを回避するためにできることは何もありません。(例外のキャッチ、またはSun JVM以外のSocketOutputStreamの使用を除いて、どちらもクライアントが終了したという事実を実際には回避しません)

11
スタックトレースをlog4jに送信する方法は?
e.printStackTrace()を実行すると、例外をキャッチして、標準出力(たとえば、コンソールなど)で次のようになります。 java.io.FileNotFoundException: so.txt at java.io.FileInputStream.<init>(FileInputStream.java) at ExTest.readMyFile(ExTest.java:19) at ExTest.main(ExTest.java:7) これを、たとえばlog4jのようなロガーに送信して、以下を取得します。 31947 [AWT-EventQueue-0] ERROR Java.io.FileNotFoundException: so.txt 32204 [AWT-EventQueue-0] ERROR at java.io.FileInputStream.<init>(FileInputStream.java) 32235 [AWT-EventQueue-0] ERROR at ExTest.readMyFile(ExTest.java:19) 32370 [AWT-EventQueue-0] ERROR at ExTest.main(ExTest.java:7) これどうやってするの? try { ... } catch (Exception e) { final String s; ... // <-- What goes here? log.error( s …

2
Javascriptで例外を再スローしながらスタックを保持するにはどうすればよいですか?
JavaScriptで、例外が発生したときにいくつかのクリーンアップを実行したいが、例外がスタックに伝播し続けるようにしたいとします。例: try { enterAwesomeMode(); doRiskyStuff(); // might throw an exception } catch (e) { leaveAwesomeMode(); throw e; } doMoreStuff(); leaveAwesomeMode(); このコードの問題は、例外をキャッチして再スローすると、その時点までのスタックトレース情報が失われるため、その後例外が再びキャッチされた場合、スタックの上位でスタックトレースがreまでしかダウンしないことです。 -スロー。これは、実際に例外をスローした関数が含まれていないことを意味するため、面倒です。 結局のところ、try..finallyは少なくともChromeで同じ動作をします(つまり、問題の原因となっているのは再スローではなく、例外ハンドラーブロックの存在です)。 誰かがJavascriptで例外を再スローする方法を知っていますが、それに関連付けられたスタックトレースを保持しますか?それができない場合、例外が発生したときに完全なスタックトレースをキャプチャしながら、例外セーフクリーンアップハンドラーを追加する他の方法の提案についてはどうでしょうか。 ポインタをありがとう:)

12
Android Studioプロジェクトのビルド時にスタックトレースまたはデバッグオプションを追加する方法
次のように、コンソール出力のプロジェクトビルドエラーを調査しようとしました。 :myapp:processDebugResources FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugResources'. ... ... * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. リソースが見つからないというエラーと関係があると思います。私の質問は、IDEレベルで、デバッグするための詳細情報を生成できるように、オプション--stacktraceまたは--debugオプションを追加するにはどうすればよいですか?

7
リリースモードの.NETアセンブリのスタックトレースに行番号を表示する
リリースモードでビルド/デプロイされた.NETアセンブリのスタックトレースに行を表示する方法はありますか? 更新: 私のアプリケーションは、3つのクラスライブラリプロジェクトと1つのASP.NET "website"プロジェクトに分かれています。私が追跡しようとしているエラーは、3つのクラスライブラリプロジェクトの1つです。「オブジェクト参照がオブジェクトのインスタンスに設定されていません」エラーを生成しているクラスライブラリプロジェクトのpdbファイルのみをデプロイしました。 行番号はまだスタックトレースに表示されません。スタックトレースの行番号を取得するには、すべてのプロジェクトのpdbファイルをデプロイする必要がありますか? 実用的なソリューション アプリケーションごとにpdbファイルをデプロイすると、行番号の問題が修正されました。

3
例外を発生させずにRubyで現在のスタックトレースを取得する
現在のバックトレース(スタックトレース)を例外なしで Rails 3アプリに記録したいのですが。どのように考えていますか? なぜこれが必要なのですか?オーバーライドするプロセスの一部を選択できるように、Railsがテンプレートを検索するときに行われる呼び出しを追跡しようとしています(特定のサブクラス化されたコントローラーのビューパスを変更したいためです)。 次のファイルから呼び出します:gems\actionpack-3.2.3\lib\action_dispatch\middleware\templates\rescues\missing_template.erb。私はそれがベストプラクティスではないことを知っていますが、テンプレートの検索が行われるスタックの下流にあることを知っています。
138 ruby  stack-trace 

10
exception.printStackTrace()が悪い習慣と見なされるのはなぜですか?
あり、多くの材料うちそこ例外のスタックトレースを印刷することは悪い習慣であることを示唆しています。 たとえば、CheckstyleのRegexpSinglelineチェックから: このチェックを使用して、ex.printStacktrace()の呼び出しなどの一般的な悪い習慣を見つけることができます。 ただし、スタックトレースが例外の原因を追跡するのに非常に役立つので、正当な理由が得られる場所を見つけるのに苦労しています。私が知っていること: スタックトレースがエンドユーザーに表示されないようにする必要があります(ユーザーエクスペリエンスとセキュリティ上の理由から) スタックトレースの生成は比較的コストのかかるプロセスです(ほとんどの「例外的な」状況では問題になる可能性は低いですが)。 多くのロギングフレームワークは、スタックトレースを出力します(私たちにはできませんし、できません。簡単に変更することはできません)。 スタックトレースを出力しても、エラー処理にはなりません。他の情報ロギングや例外処理と組み合わせる必要があります。 コードでスタックトレースの出力を回避する他の理由は何ですか?

8
Java / Android-完全なスタックトレースを出力する方法
Android(Java)で完全なスタックトレースを出力するにはどうすればよいですか?アプリケーションがnullPointerExceptionまたは何かからクラッシュした場合、次のように(ほぼ)完全なスタックトレースが出力されます。 java.io.IOException: Attempted read from closed stream. com.android.music.sync.common.SoftSyncException: java.io.IOException: Attempted read from closed stream. at com.android.music.sync.google.MusicSyncAdapter.getChangesFromServerAsDom(MusicSyncAdapter.java:545) at com.android.music.sync.google.MusicSyncAdapter.fetchDataFromServer(MusicSyncAdapter.java:488) at com.android.music.sync.common.AbstractSyncAdapter.download(AbstractSyncAdapter.java:417) at com.android.music.sync.common.AbstractSyncAdapter.innerPerformSync(AbstractSyncAdapter.java:313) at com.android.music.sync.common.AbstractSyncAdapter.onPerformLoggedSync(AbstractSyncAdapter.java:243) at com.google.android.common.LoggingThreadedSyncAdapter.onPerformSync(LoggingThreadedSyncAdapter.java:33) at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:164) Caused by: java.io.IOException: Attempted read from closed stream. at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:148) at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:159) at java.util.zip.GZIPInputStream.readFully(GZIPInputStream.java:212) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:81) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:64) at android.net.http.AndroidHttpClient.getUngzippedContent(AndroidHttpClient.java:218) at com.android.music.sync.api.MusicApiClientImpl.createAndExecuteMethod(MusicApiClientImpl.java:312) …


3
例外で完全なスタックトレースを印刷するにはどうすればよいですか?
たとえば、ある場所で... //---------------a try { // some network call } catch(WebException we) { throw new MyCustomException("some message ....", we); } ...そして別の場所で... //--------------b try { // invoke code above } catch(MyCustomException we) { Debug.Writeline(we.stacktrace); // <---------------- } 私が出力するスタックトレースは、aからbまでで始まり、WebExceptionからの内部スタックトレースは含まれていません。 すべてのスタックトレースを出力するにはどうすればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.