Blender V4.3
system_win32.c File Reference
#include <Windows.h>
#include <stdio.h>
#include <dbghelp.h>
#include <shlwapi.h>
#include <tlhelp32.h>
#include "BLI_string.h"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Functions

static const char * bli_windows_get_exception_description (const DWORD exceptioncode)
 
static void bli_windows_get_module_name (LPVOID address, PCHAR buffer, size_t size)
 
static void bli_windows_get_module_version (const char *file, char *buffer, size_t buffersize)
 
static void bli_windows_system_backtrace_exception_record (FILE *fp, PEXCEPTION_RECORD record)
 
static bool BLI_windows_system_backtrace_run_trace (FILE *fp, HANDLE hThread, PCONTEXT context)
 
static bool bli_windows_system_backtrace_stack_thread (FILE *fp, HANDLE hThread)
 
static void bli_windows_system_backtrace_modules (FILE *fp)
 
static void bli_windows_system_backtrace_threads (FILE *fp)
 
static bool BLI_windows_system_backtrace_stack (FILE *fp)
 
static bool bli_private_symbols_loaded ()
 
static void bli_load_symbols ()
 
void BLI_system_backtrace (FILE *fp)
 
void BLI_windows_handle_exception (EXCEPTION_POINTERS *exception)
 

Variables

static EXCEPTION_POINTERS * current_exception = NULL
 

Function Documentation

◆ bli_load_symbols()

static void bli_load_symbols ( )
static

Definition at line 335 of file system_win32.c.

References bli_private_symbols_loaded(), mod(), and NULL.

Referenced by BLI_system_backtrace().

◆ bli_private_symbols_loaded()

static bool bli_private_symbols_loaded ( )
static

Definition at line 325 of file system_win32.c.

References NULL.

Referenced by bli_load_symbols().

◆ BLI_system_backtrace()

void BLI_system_backtrace ( FILE * fp)

◆ bli_windows_get_exception_description()

static const char * bli_windows_get_exception_description ( const DWORD exceptioncode)
static

◆ bli_windows_get_module_name()

static void bli_windows_get_module_name ( LPVOID address,
PCHAR buffer,
size_t size )
static

◆ bli_windows_get_module_version()

static void bli_windows_get_module_version ( const char * file,
char * buffer,
size_t buffersize )
static

Definition at line 80 of file system_win32.c.

References BLI_snprintf(), MEM_callocN, MEM_freeN(), and NULL.

Referenced by bli_windows_system_backtrace_modules().

◆ BLI_windows_handle_exception()

void BLI_windows_handle_exception ( EXCEPTION_POINTERS * exception)

◆ bli_windows_system_backtrace_exception_record()

static void bli_windows_system_backtrace_exception_record ( FILE * fp,
PEXCEPTION_RECORD record )
static

◆ bli_windows_system_backtrace_modules()

static void bli_windows_system_backtrace_modules ( FILE * fp)
static

Definition at line 238 of file system_win32.c.

References bli_windows_get_module_version().

Referenced by BLI_system_backtrace().

◆ BLI_windows_system_backtrace_run_trace()

static bool BLI_windows_system_backtrace_run_trace ( FILE * fp,
HANDLE hThread,
PCONTEXT context )
static

◆ BLI_windows_system_backtrace_stack()

static bool BLI_windows_system_backtrace_stack ( FILE * fp)
static

◆ bli_windows_system_backtrace_stack_thread()

static bool bli_windows_system_backtrace_stack_thread ( FILE * fp,
HANDLE hThread )
static

◆ bli_windows_system_backtrace_threads()

static void bli_windows_system_backtrace_threads ( FILE * fp)
static

Definition at line 278 of file system_win32.c.

References bli_windows_system_backtrace_stack_thread(), and FALSE.

Referenced by BLI_system_backtrace().

Variable Documentation

◆ current_exception

EXCEPTION_POINTERS* current_exception = NULL
static