問題タブ [stack-trace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
30783 参照

java - NullPointerException スタック トレースは、デバッグ エージェントなしでは利用できません

最近、NullPointerException を引き起こすバグを発見しました。例外は、標準の slf4j ステートメントを使用してキャッチされ、ログに記録されます。以下の要約コード:

ご覧のとおり、派手なものは何もありません。ただし、すべての例外ログ ステートメントのうち、スタック トレースを出力しないのはこの 1 つだけです。出力されるのは、メッセージ ("..." で表される) と例外クラスの名前 (java.lang.NullPointerException) だけです。

例外のスタック トレースは遅延ロードされるため、何らかの命令の並べ替えの問題があるのではないかと考え、ログ ステートメントの前に e.getStackTrace() を呼び出すことにしました。これは違いはありませんでした。

そこで、デバッグ エージェントを有効にして再起動することにしました。しかし、私もプロセスにアタッチしたため、スタック トレースが印刷されていることに気付きました。明らかに、デバッグ エージェントの存在により、いくつかの追加のデバッグ情報が利用可能になりました。

それ以来、例外の根本原因を修正しました。しかし、デバッガーなしでスタック トレースを利用できなかった理由を知りたいと思います。誰でも知っていますか?

明確化:これはロギングの問題ではありません。同じ try/catch 句を想像してみてください。ただし、catch では、次の値を出力します。

デバッガーがない場合、これは「0」を出力します。デバッガーを使用すると、正の数 (この場合は 9) が出力されます。

詳細: これは JDK 1.6.0_13、64 ビット、amd64、linux 2.6.9 で発生しています。

0 投票する
3 に答える
67334 参照

python - Pythonで関数のモジュールを呼び出す__name__を取得します

含まれていると仮定しmyapp/foo.pyます:

そしてmyapp/bar.py含まれています:

この場合、呼び出し元の関数'モジュール(' myapp.foo')の属性にcaller_name設定したいと思います。__name__これはどのように行うことができますか?

0 投票する
5 に答える
4760 参照

python - Python で元の例外のモジュール名を見つける

例:

上記の例では、例外は実際には myapp/util/url.py モジュールでスローされました。__name__そのモジュールを取得する方法はありますか?

私の意図は、これをlogging.getLogger関数で使用することです。

0 投票する
4 に答える
9029 参照

debugging - ランタイム エラーのスタック トレースまたは VB6 の場所

VB6 で書かれた古いアプリケーションを維持しています。クライアントの環境では、デバッガーで再現できないランタイム エラーが発生します。スタックトレースまたはエラーの場所を取得する方法はありますか?

つまり、 hereのようにコード全体にトレース ステートメントを配置したり、 hereのようにすべてのプロシージャにログを記録するためのエラー ハンドラーを追加したりしません。

簡単な質問のようです。ごめん。私はVB6をよく知りません。そして、それがどれほど広く使われているか (または以前は使われていたか) を考えると、情報をグーグルで検索するのは驚くほど困難です。

0 投票する
2 に答える
1045 参照

groovy - Groovy クラスのコンパイル時に奇妙なスタックトレースを取得する

Groovy で小さなテスト アプリをコーディングしています。次のコードがあります。

}

私はこのやや不可解なメッセージを受け取っています。

nojevive@follett:~/dev/code/mysmallapp$ grails generate-all アドレス Grails 1.1.1 へようこそ - http://grails.org/ Apache Standard License 2.0 の下でライセンス供与 Grails ホームは次のように設定されます: /home/nojevive/dev /grails

ベースディレクトリ: /home/nojevive/dev/code/mysmallapp 実行中のスクリプト /home/nojevive/dev/grails/scripts/GenerateAll.groovy 環境を開発に設定 groovy.lang.MissingMethodException: No signature of method: java.lang.Integer.call() is applicable for argument types: () values: [] at Project$__clinit__closure1.doCall(Project.groovy:11) at Project$__clinit__closure1.doCall(Project.groovy) at Project.getProperty(Project.groovy) at _PluginDependencies_groovy$_run_closure6_closure53.doCall(_PluginDependencies_groovy:467) at _PluginDependencies_groovy$_run_closure6_closure53.doCall(_PluginDependencies_groovy) at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:274) at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy) at _PluginDependencies_groovy$_run_closure6.doCall(_PluginDependencies_groovy:447) at _GrailsBootstrap_groovy$_run_closure1.doCall(_GrailsBootstrap_groovy:74) at _GrailsGenerate_groovy$_run_closure1.doCall(_GrailsGenerate_groovy:37) at GenerateAll$_run_closure1.doCall(GenerateAll.groovy:42) at gant.Gant$_dispatch_closure4.doCall(Gant.groovy:324) at gant.Gant$_dispatch_closure6.doCall(Gant.groovy:334) at gant.Gant$_dispatch_closure6.doCall(Gant.groovy) at gant.Gant.withBuildListeners(Gant.groovy:344) at gant.Gant.this$2$withBuildListeners(Gant.groovy) at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source) at gant.Gant.dispatch(Gant.groovy:334) at gant.Gant.this$2$dispatch(Gant.groovy) at gant.Gant.invokeMethod(Gant.groovy) at gant.Gant.processTargets(Gant.groovy:495) at gant.Gant.processTargets(Gant.groovy:480) Error loading plugin manager: No signature of method: java.lang.Integer.call() is applicable for argument types: () values: []

最初に、自分の番号が範囲外ではないかと考えました (1000000 でした)。それから、番号が組み込みの名前だと思ったので、residencenumber に名前を変更しました。しかし、運がありません。ここで何が欠けていますか?すべての制約を削除しましたが、同じメッセージです。したがって、私が推測する分野とは何の関係もありません。何かが壊れている必要がありますか?

0 投票する
2 に答える
3414 参照

java - 同じ例外を(たくさん)繰り返した後、log4jがスタックトレースを無効にするのはなぜですか?

お客様のインストールの1つで、同じ例外が何千回も発生しました。多くの適切にログに記録されたスタックトレース(9332)の後でも、例外の発生はログに記録されますが、スタックトレースはありません。Javaプロセスを再起動した後も、同じことが言えます。今回は17858のスタックトレースがあり、例外が発生しただけです。

ここにも同様の質問がありますが、答えはありません...

log4jの機能ですか、それともバグですか?(私は前者を信じています、なぜなら私は本当に好きなので、それらのapacheの人がすること)

何か案は?

0 投票する
31 に答える
682588 参照

java - スタック トレースを文字列に変換するにはどうすればよいですか?

Throwable.getStackTrace()結果をスタックトレースを表す文字列に変換する最も簡単な方法は何ですか?

0 投票する
7 に答える
180101 参照

python - Python コードのメソッドから現在のコール スタックを出力する

Python では、メソッド内から現在のコール スタックを出力するにはどうすればよいですか (デバッグ目的で)。

0 投票する
12 に答える
63017 参照

php - エラー時にPHPにバックトレースを生成させるにはどうすればよいですか?

デフォルトの現在の行のみのエラーメッセージを使用してPHPをデバッグしようとすると、ひどいことになります。エラーが発生したときにPHPにバックトレース(スタックトレース)を生成させるにはどうすればよいですか?

0 投票する
1 に答える
219 参照

ruby - (eval:...)コードのソースを見つける

ある時点でスタックトレースを生成するコードがあります。

on_success_res_for_register定義されたソースを見つけるにはどうすればよいですか?コードはタイマーから呼び出され、関数コードのローカライズに問題があります。そのコマンドのソースを取得する方法はありますか?

また、そのようなスタックトレース行は、によってのみ生成されeval()ますか、それとも他の方法で可能ですか(send()のいくつかの副作用またはすべてのメソッド呼び出しをキャッチする何か?)