diff --git a/DiagnosticsApi.md b/DiagnosticsApi.md index 21e45e2..6dff8ff 100644 --- a/DiagnosticsApi.md +++ b/DiagnosticsApi.md @@ -1,43 +1,45 @@ +# The BOINC diagnostics API + The diagnostics API determines where stdout and stderr are sent, and what's written to them. -'''BOINC's initialization functions - boinc_init() etc. - +**BOINC's initialization functions - boinc_init() etc. - set reasonable defaults for these settings. -If for some reason you want different settings, this API lets you do it.''' +If for some reason you want different settings, this API lets you do it.** BOINC applications can call - - int boinc_init_diagnostics(int flags) - +``` +int boinc_init_diagnostics(int flags) +``` BOINC graphics applications can call - - int boinc_init_graphics_diagnostics(int flags) - -to initialize various diagnostic functions. *This call should be made early in the program - before `boinc_init()` - so that error info is routed appropriately.* `flags` is formed by or'ing together a subset of the following flags. +``` +int boinc_init_graphics_diagnostics(int flags) +``` +to initialize various diagnostic functions. **This call should be made early in the program - before `boinc_init()` - so that error info is routed appropriately.** `flags` is formed by or'ing together a subset of the following flags. Applications are advised to use at least `BOINC_DIAG_DUMPCALLSTACKENABLED`, `BOINC_DIAG_REDIRECTSTDERR`, and `BOINC_DIAG_TRACETOSTDERR`. The default is BOINC_DIAG_DUMPCALLSTACKENABLED, BOINC_DIAG_HEAPCHECKENABLED, BOINC_DIAG_MEMORYLEAKCHECKENABLED, BOINC_DIAG_REDIRECTSTDERR, BOINC_DIAG_TRACETOSTDERR -*BOINC_DIAG_DUMPCALLSTACKENABLED*:: - If the application crashes, write a symbolic call stack to stderr. If you use this in a Windows application, you can make use of [Symbol Stores](wiki:AppDebugWin#SymbolStores) for just in time debugging. -*BOINC_DIAG_HEAPCHECKENABLED*:: - Check the integrity of the malloc heap every N allocations. (N is line 249 in diagnostics.C; default 1024). -*BOINC_DIAG_MEMORYLEAKCHECKENABLED*:: - When process exits, write descriptions of any outstanding memory allocations to stderr. -*BOINC_DIAG_ARCHIVESTDERR*:: - Rename stderr.txt to stderr.old on startup. -*BOINC_DIAG_ARCHIVESTDOUT*:: - Rename stdout.txt to stdout.old on startup. -*BOINC_DIAG_REDIRECTSTDERR*:: - Redirect stderr to stderr.txt. -*BOINC_DIAG_REDIRECTSTDOUT*:: - Redirect stdout to stdout.txt. -*BOINC_DIAG_REDIRECTSTDERROVERWRITE*:: - Overwrite stderr.txt (default is to append). -*BOINC_DIAG_REDIRECTSTDOUTOVERWRITE*:: - Overwrite stdout.txt (default is to append). -*BOINC_DIAG_TRACETOSTDERR*:: - Write TRACE macros to stderr (Windows specific). -*BOINC_DIAG_TRACETOSTDOUT*:: - Write TRACE macros to stdout (Windows specific). +### **BOINC_DIAG_DUMPCALLSTACKENABLED** +If the application crashes, write a symbolic call stack to stderr. If you use this in a Windows application, you can make use of [Symbol Stores](AppDebugWin#SymbolStores) for just in time debugging. +### **BOINC_DIAG_HEAPCHECKENABLED** +Check the integrity of the malloc heap every N allocations. (N is line 249 in diagnostics.C; default 1024). +### **BOINC_DIAG_MEMORYLEAKCHECKENABLED** +When process exits, write descriptions of any outstanding memory allocations to stderr. +### **BOINC_DIAG_ARCHIVESTDERR** +Rename stderr.txt to stderr.old on startup. +### **BOINC_DIAG_ARCHIVESTDOUT** +Rename stdout.txt to stdout.old on startup. +### **BOINC_DIAG_REDIRECTSTDERR** +Redirect stderr to stderr.txt. +### **BOINC_DIAG_REDIRECTSTDOUT** +Redirect stdout to stdout.txt. +### **BOINC_DIAG_REDIRECTSTDERROVERWRITE** +Overwrite stderr.txt (default is to append). +### **BOINC_DIAG_REDIRECTSTDOUTOVERWRITE** +Overwrite stdout.txt (default is to append). +### **BOINC_DIAG_TRACETOSTDERR** +Write TRACE macros to stderr (Windows specific). +### **BOINC_DIAG_TRACETOSTDOUT** +Write TRACE macros to stdout (Windows specific).