Blender  V3.3
Functions | Variables
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 318 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 308 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 78 of file system_win32.c.

References BLI_snprintf(), buffer, file, MEM_callocN, MEM_freeN, NULL, size(), and UINT().

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 222 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 261 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