以下は、意図的に2 NullPointerExceptionを引き起こすコードスニペットです。最初のものが処理されます。一方、第2のものは処理されない。クラッシュが発生したときに2番目の例外でクラッシュダンプを作成したいと思います。procdumpを使用して未処理例外のクラッシュダンプをキャプチャする方法
int* nullPtr = NULL;
try{
x = *nullPtr;
}
catch(...) {
QLOG_WARNING0(QTEXT("catching 1st null ptr exception."));
}
y = *nullPtr;
これはプロセスをクラッシュさせますが、-eオプションを使用するとダンプは生成されません。 ダンプを取得するためにどのようなオプションを使用する必要がありますか?
debugDiagツールでこれを実現する方法はありますか?もしそうなら、どうですか?
これはサンプルコードです。私がデバッグしている実際のユースケースにはプロセスがクラッシュしていますが、クラッシュのダンプを取ることができません。最初のチャンス・オプション(-e 1)を使用した場合にダンプがトリガーされる有効な処理例外があります。これにより、実際のクラッシュが発生する前にprocdumpが終了します。あなたのコメントパー
Procdumpを使用する必要がありますか?クラッシュダンプを収集する他の方法があります。 – rrirower
いいえ他のツールを利用することはできません。私は、例えば "debugDiag"を見つけましたが、この目的で私の目的を解決することができませんでした。これらのツールや他のツールを使用する方法があるかもしれません。 –