Update DiagnosticsApi.md file

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
Vitalii Koshura 2023-04-06 17:15:22 +02:00
parent b6ea2e0c32
commit b945e5b8f3
No known key found for this signature in database
GPG Key ID: CE0DB1726070A5A3
1 changed files with 33 additions and 31 deletions

@ -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).