BOINC 診断用 API |
Last modified 6:18 AM UTC, October 19 2004 |
int boinc_init_diagnostics(int flags)この呼出しを呼び出すのは、 アプリケーションプログラムの開始後早い時期にしてください。 それも boinc_init() を呼び出す前に行い、 エラー情報が適切に出てくるようにします。
flags
には、下記のフラグのいくつかの
ビット論理和をとって指定します。
#define BOINC_DIAG_DUMPCALLSTACKENABLED 0x00000001L #define BOINC_DIAG_HEAPCHECKENABLED 0x00000002L #define BOINC_DIAG_MEMORYLEAKCHECKENABLED 0x00000004L #define BOINC_DIAG_ARCHIVESTDERR 0x00000008L #define BOINC_DIAG_ARCHIVESTDOUT 0x00000010L #define BOINC_DIAG_REDIRECTSTDERR 0x00000020L #define BOINC_DIAG_REDIRECTSTDOUT 0x00000040L #define BOINC_DIAG_REDIRECTSTDERROVERWRITE 0x00000080L #define BOINC_DIAG_REDIRECTSTDOUTOVERWRITE 0x00000100L #define BOINC_DIAG_TRACETOSTDERR 0x00000200L #define BOINC_DIAG_TRACETOSTDOUT 0x00000400Lこれらのフラグの内容は以下のとおりです。 アプリケーションは少なくとも以下の 3つを指定することをお勧めします。 BOINC_DIAG_DUMPCALLSTACKENABLED, BOINC_DIAG_REDIRECTSTDERR, および BOINC_DIAG_TRACETOSTDERRの 3つ。
BOINC_DIAG_DUMPCALLSTACKENABLED | この初期化関数を発行するアプリケーションが 停止してしまったら、呼出しスタックの内容を標準エラー出力 (stderr)に出します。 シンボルへの置き換えもこの際に行います。 この機能を Windows アプリケーションで使う場合は、 lib/stackwalker_win.cpp を含めてコンパイルをする必要があり、 アプリケーションの版の配付物に、そのアプリケーションの .pdb ファイル (シンボルファイル)も入れておく必要があります。 |
BOINC_DIAG_HEAPCHECKENABLED | malloc ヒープの整合性検査を、メモリ割り当て N 回ごとに実施します。 (ここで、N のデフォルト値は 1024 で、 diagnostics.C の120行目で定義されています) |
BOINC_DIAG_MEMORYLEAKCHECKENABLED | プロセスが終了するとき、 返却していないメモリ割り当ての状況を標準エラー出力に書き出します。 |
BOINC_DIAG_ARCHIVESTDERR | 開始時に stderr.txt を stderr.old にファイル名変更します。 |
BOINC_DIAG_ARCHIVESTDOUT | 開始時に stdout.txt を stdout.old にファイル名を変更します。 |
BOINC_DIAG_REDIRECTSTDERR | 標準エラー出力(stderr)を stderr.txt にリダイレクトします。 |
BOINC_DIAG_REDIRECTSTDOUT | 標準出力(stdout)を stdout.txt にリダイレクトします。 |
BOINC_DIAG_REDIRECTSTDERROVERWRITE | stderr.txt へ上書きで書き出します (デフォルトでは、末尾に追加して書き出します。 ) |
BOINC_DIAG_REDIRECTSTDOUTOVERWRITE | stdout.txt へ上書きで書き出します (デフォルトでは、末尾に追加して書き出します。 ) |
BOINC_DIAG_TRACETOSTDERR | TRACE マクロの出力を stderr に出します(Windows のみ) |
BOINC_DIAG_TRACETOSTDOUT | TRACE マクロの出力を stdout に出します(Windows のみ) |