問題タブ [libunwind]
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.
linux - PIN_Backtrace() の失敗による終了を防ぐ
を呼び出すピンツールがありますPIN_Backtrace()
。libunwind
では一部のレジスタがサポートされていないようでx86_64
、これにより次のエラー メッセージが表示され、異常終了します。
これらのエラーがあってもプログラムを続行したい。この状況を処理する最も効率的な方法は何ですか?
pintool
を使用してデバッグしgdb
ました。abort()
デバッガーが を受信したときのバックトレースは次のとおりです。
info proc mapping
アドレス範囲を次のように示します。
と
が使用しているlibunwind
ライブラリPin
は、 だけの特別なもののようPinCRT
です。info /proc/<PID>/maps
これは、次の出力で確認できますpintool
。
c - リモートプロセスのソースコード名と行番号
こんにちは、システム コールを検出して検出するある種のデバッガを作成しようとしていますが、使いやすさの観点から、エラーが検出されたソース コード名と行番号を取得できるようにしたいと考えています。libunwind というライブラリを使用してきましたが、関数名、関数からのオフセット、および実行可能ファイルのアドレス空間のプログラム カウンターが表示されます。ただし、valgrind や gdb を見ると、-g フラグを付けてコンパイルしたときの行番号とソース コード名が表示されます。どうすればいいですか?