問題タブ [postmortem-debugging]
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.
c - プログラムカウンターからのみコード行情報を取得しますか?
まず、デバッガーが使えません[1]。しかし、プログラムのプログラムカウンターにアクセスでき、必要なすべてのフラグを使用してバイナリ(Cで記述)をコンパイルすることもできます。また、コードを変更することもできます(ただし、変更したくない場合もあります)。PCを考えると、どの行に対応しているかを知りたいです。
これを行うには、自動化された実用的で迅速な方法が必要だと確信しています。しかし、私は成功していません。
編集:言及するのを忘れた:Linuxシステム、バイナリはPPC、ホストはi386です。私はPPCハードウェアにアクセスできます。
[1]アプリケーションはエミュレートされており、クロスコンパイルされています。ホストエミュレーターにgdbがあります。しかし、エミュレートされたゲストアプリケーションにgdbserverを接続できません。そして、実際のハードウェアはオプションではありません。私はエミュレーターに基づいてシミュレーターを構築しようとしています。
c++ - デバッグを支援するために、システムライブラリ、libc、pthreadを静的にリンクする
このStackoverflowエントリで説明されている状況を回避しようとしています: 顧客のボックスで生成されたコアファイルのデバッグ。すべてのライブラリを静的にコンパイルする場合、コアダンプ時に共有ライブラリを常に収集する必要はありませんか?基本的に、gdbを使用してコアファイルをロードし、クラッシュしたアプリケーションを調べることができる状況になりたいと思っています。
必要なすべてのライブラリを静的にリンクするルートをたどる場合は、何に注意する必要がありますか。glibとpthreadが最大の問題を引き起こす可能性があると思います。
Valgrindは役に立たなくなりますか?すべてが静的にコンパイルされているバイナリに対してValgrindをロードすると、エラーが見つかりますか?または、静的にコンパイルされていないバイナリを維持して、Valgrindが引き続き機能するようにします。straceはどうですか?
インストールベースが大きく、レガシーアプリケーションでもあるため、クラッシュすることがよくあります。すべての共有ライブラリを収集することは困難になりつつあります-私は別の解決策が必要です。
編集:タイプミスを修正しました。
c++ - コア ダンプから auto_ptr の背後にあるオブジェクトの具体的なタイプを特定する
がありauto_ptr<IFoo>
、IFoo
は純粋仮想メソッドのみのインターフェイスです。
また、セグメンテーション フォールト後のコア ファイルもあります。具体的なサブクラスがこの auto_ptr の背後にあることを知りたいと思っています。プロジェクトで動作するようdynamic_cast
に、RTTI は何らかの方法で利用できるはずだと思いますが、この情報にgdb
?
私が得る出力は次のとおりです。
IBar
ポインターがまたはに属している場合、私が本当に知りたいことIBaz
。
助けてくれてありがとう!
windows - Windbg を Windows サービスの事後分析デバッガーとして使用できますか?
Windbg をデフォルトの事後分析デバッガーとして設定しました。を実行してこれを行いましたwindbg -I
。ただし、これは、Windows サービスではなく、ログオンしているユーザーが実行するアプリケーションからの未処理の例外のみをキャッチするようです。これらもキャッチするようにwindbgを構成する方法を知っている人はいますか?
c# - Visual Studio を使用した C# アプリの事後分析デバッグ
.dmp
.NET コード (C#) を含むファイルのデバッグに苦労しています。ネイティブ コードを呼び出すマネージ C++ も含まれています。
ファイルは「.dmp
完全なダンプ」です
.pdb
SOS を使用して WinDBGにロードすると問題はありませんが、Visual Studio 2010 にロードすると CLR スタックを取得できませんか? VS がアプリをマネージド アプリとして認識していないように感じます
トリックはありますか?代わりにwindbgを使用する必要がありますか(私は本当にVSを好むでしょう)
VS2012 のパフォーマンスは向上しますか?
php - 長時間実行されるphpスクリプトをどのようにデバッグしますか?
問題は、スクリプトがしばらくするとハングアップすることです。 straceは次のようなものを返します。
あちこちにデバッグ メッセージを配置することは、最後の手段として残されています。
xdebugを添付してスクリプトを実行できますが、POSIX シグナルを php プロセスに送信して xdebug をトリガーし、現在のコンテキスト/スタックトレース/ローカル変数をダンプする方法はありますか?
PHPスクリプトの「事後ダンプ」を取得することは可能ですか?
c++ - GDB (C++) でシングルトン事後分析へのポインタを見つける
クラッシュしたプログラムの事後分析を行っています。私は Linux (Ubuntu 12.04、x86) を使用しており、コードは C++ で記述されています。プログラムは、貴重な情報を含む可能性のあるいくつかのシングルトンを使用しています。次のように作成された場合、シングルトンのインスタンスへのポインターを見つけることは可能ですか?
可能であれば、GDB でどのように行われますか?