問題タブ [debug-backtrace]

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 投票する
2 に答える
6918 参照

gdb - GDB でデバッグするためにバックトレース アドレスを解釈する方法

backtrace() と backtrace_symbols() を使用して、SIGSEGV のバックトレースとその他のシグナルを次のような形式で出力しています。

この特定のケースでは、フレーム #7 は問題ありませんが、フレーム 1 から 6 はある種の「+x」アドレスを提供します。

「+0x6f42a」およびGDBの他のアドレスの逆アセンブルで正確な行を取得するには? また、モジュールが記述されていないフレーム #0 は何を意味するのでしょうか?

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

ruby-on-rails-3 - 本番環境で完全なバックトレース ロギングを有効にする

本番環境でのみエラーが発生し、それをデバッグするには、本番環境で完全なバックトレースを有効にしたいと考えています。

私はすでに持っていますconfig.log_level = :debugconfig/environments/production.rb、バックトレースは得られず、クエリ、リクエスト、および提供されたアセットを詳細にログに記録するだけです。

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

c++ - GDB bt エラー:「さらに巻き戻すのに十分なレジスタまたはメモリがありません」

core-file からのバックトレースは、これにより有用な情報をカットします:

バックトレースが停止しました: さらにアンワインドするのに十分なレジスタまたはメモリがありません。

このメッセージが表示される理由と対処方法を教えてください。

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

php - PHPはレイトスタティックバインディングを使用して呼び出し関数を取得しますか?

レイトスタティックバインディングを使用して、呼び出し元の関数の情報(ファイル名、行、関数...)を取得することは可能ですか?

以前Iused debug_backtrace()またはnew \Exception+ getTrace()。いくつかの素晴らしい超特別なレイトスタティックバインディング機能(キーワード/関数)を使用することは可能(または簡単)でしょうか?

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

php - debug_backtrace で提供するオブジェクトを無効にするには?

PHP 5.2.11 で debug_backtrace を提供するオブジェクトを無効にする方法は? debug_backtrace(false) が機能しませんでした。

前もって感謝します、

サイモン

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

php - Zend Framework 2 debug_backtrace()

通常使用するようにdebug_print_backtrace()を使用できないため、ZF2を使用するのに苦労しています。

Zend \ Mvc\MvcEventオブジェクトからの大量のデータが表示されています。出力は次のようになります。

このすべてのMvcEventコンテンツを表示せずに、パラメーターを使用してバックトレースを表示する方法はありますか?

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

c++ - バックトレースからのスタック トレースは、マルチスレッド環境でクラッシュを引き起こしたメソッドを示しませんでした


SIGSEGV シグナルを受信した後にバックトレースによって返されたメッセージから、どのメソッド、または少なくともどのクラスがコードをクラッシュさせたかを正確に把握しようとしていました。クラッシュしたメソッドが別のスレッドで実行されていたため、バックトレースが実行できなかったのでしょうか (ログの最初の行を参照してください - プロセス ID は 7fdae0268700 です。アプリをクラッシュさせるコードをそこに追加しました)。この問題に対する推奨事項はありますか?

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

linux-kernel - カーネル oops oops: ARM 組み込みシステムで 80000005

このおっとを解決するのを手伝ってください。1ミリ秒の高解像度タイマーを使用し、「insmod」を使用して別のモジュールとしてインストールします。これは1ミリ秒ごとに発生し、このタイマー割り込みで何らかのタスクを実行する必要があります。画像転送を行う他のプロセスがあり、画像を送信するためにイーサネットドライバーが割り込みを行っているように見えます。この enet 割り込みは優先度が高く、上記の 1 ミリ秒のタイマー割り込みを遅らせているように見えますが、よくわかりません。

テストを 3 ~ 3 時間実行すると、次のエラーが表示されます。これを根本的に引き起こす方法は?助けてください。システムは ARM omap で、Linux 2.6.33 をクロス コンパイルして実行しています。

=========================================

========================

上記のコードをドライバーモジュールとして使用し、insmod で挿入します。これは 1 ミリ秒ごとに発生すると予想され、正常に動作しますが、ehernet トラフィックが多すぎると、説明したようにカーネルに Oops が発生することがあります。コードに問題があるかどうかを確認してください。

lsmod を確認したところ、5 つのカーネル モジュール (私自身のもの) がすべて 0x7f000000 から 0x7f02xxxx の間にロードされていることがわかりました。

oops アドレス 0x7eb52754 にモジュールがロードされていません。これを確認するために /proc/kallsyms ファイルからチェックしました。ソース ファイルへの 0x7eb5xxxx のマッピングを確認する方法は? システム上のこのデータはどこで入手できますか。

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

c++ - 欠陥のあるライブラリが原因で発生したクラッシュのバックトレースを分析する

私のアプリケーションでは、セグメンテーション違反をキャッチし、bactrace を出力するようにシグナル ハンドラーをセットアップしました。私のアプリケーションは、プロセスの開始時にいくつかのプラグイン ライブラリを読み込みます。

メインの実行可能バイナリのエラーが原因で、アプリケーションがセグメンテーション違反でクラッシュした場合、次の方法でバックトレースを分析できます。

関数と source_file:line_no を正確に表示します

しかし、以下のバックトレースのように、プラグインのエラーが原因でクラッシュが発生したかどうかを分析するにはどうすればよいでしょうか?

私のアプリケーション ライブラリとプラグイン ライブラリは両方とも gcc でコンパイルされており、ストリップされていません。アプリケーションを実行すると、dlopen で plugin.so がロードされます 残念ながら、gdb でアプリケーションを実行できないサイトでクラッシュが発生しています。

必死に答えを探し回っていますが、backtrace と addr2line について議論しているすべてのサイトは、障害のあるプラグインの分析が必要になるシナリオを除外しています。心優しいハックがこのジレンマの解決策を知っており、いくつかの洞察を共有できることを願っています. 仲間のプログラマーにとっては非常に貴重です。

事前にたくさんの感謝を。