0

一部のアプリケーションの開発中に、プログラムの実行を完全に停止することなく完全なコア ダンプを取得する必要が生じました。

継続が安全に不可能なコア ダンプを生成する条件があることは認められますが、メモリの破損などについて話しているわけではありません。

私がやろうとしているのは、プログラムに信号を送信し、プログラムの実行に影響を与えることなく、または最小限に抑えて完全なコアを生成することです

これは可能ですか?もしそうなら、どのように?

4

2 に答える 2

3

この Google ライブラリを参照してください。役立つ場合があります: http://code.google.com/p/google-coredumper/

コアダンパー ライブラリをアプリケーションにコンパイルして、実行中のプログラムのコア ダンプを作成できます。終了する必要はありません。

于 2012-11-21T19:10:59.137 に答える
0

Coredumpberは Linux 用であり、それがあなたの OS である場合は明らかに素晴らしいアイデアです。

他の Posix ライクなシステムでは、次のようなものがうまく動作するはずです。

#include <stdlib.h>
#include <process.h>

// Fork and abort for a core dump. This process keeps running.
if (fork() == 0) abort();

もちろん、環境は でコアをダンプするように設定する必要がありますSIGABRTraise(SIGTERM)のような を試すこともできますkill -9

于 2012-11-21T20:40:15.363 に答える