Classes | Functions
core/vul/vul_debug.h File Reference
#include <vcl_config_compiler.h>

Go to the source code of this file.

Classes

class  vul_debug_windows_structured_exception

Functions

bool vul_debug_core_dump (const char *filename)
 Dump a core file.
bool vul_debug_core_dump_in_windows_se (const char *filename, void *pep)
 Force a core dump whilst inside a Structured Exception Handler in a windows program.
void vul_debug_set_coredump_and_throw_on_windows_se (const char *filename)
 Setup the system to core dump and throw a C++ exception on detection of a Structured Exception.
void vul_debug_set_coredump_and_throw_on_out_of_memory (const char *filename)
 Setup the system to core dump and throw a C++ exception on detection of out of memory.

Detailed Description

Author:
Ian Scott

Definition in file vul_debug.h.


Function Documentation

bool vul_debug_core_dump ( const char *  filename)

Dump a core file.

Parameters:
filenamecan have up to one "%d" option, which will be given a different index number on each core dump.
Returns:
true on success, false when coredump could not be taken

Definition at line 188 of file vul_debug.cxx.

bool vul_debug_core_dump_in_windows_se ( const char *  filename,
void *  pep 
)

Force a core dump whilst inside a Structured Exception Handler in a windows program.

To get a core dump from a Windows structured exceptions

   void main()
   {
     __try
     {
       // Rest of program
     }
     __except(vul_debug_core_dump2(filename, GetExceptionInformation()))
     {}
   }
   
Parameters:
filenamecan have up to one "%d" option, which will be given a different index number on each core dump.
Returns:
true on success, false when coredump could not be taken
void vul_debug_set_coredump_and_throw_on_out_of_memory ( const char *  filename)

Setup the system to core dump and throw a C++ exception on detection of out of memory.

The system will throw vcl_bad_alloc.

Parameters:
filenamecan have up to one "%d" option, which will be given a different index number on each core dump.

The system will throw vcl_bad_alloc.

Definition at line 236 of file vul_debug.cxx.

void vul_debug_set_coredump_and_throw_on_windows_se ( const char *  )

Setup the system to core dump and throw a C++ exception on detection of a Structured Exception.

The system will throw vul_debug_windows_structured_exception. You must compile your code with /EHa to get the compiler to correctly handle SEs.

Parameters:
filenamecan have up to one "%d" option, which will be given a different index number on each core dump.
Exceptions:
vul_debug_windows_structured_exception.

Definition at line 209 of file vul_debug.cxx.