Blender V5.0
system_win32.cc File Reference
#include <Windows.h>
#include <commctrl.h>
#include <sstream>
#include <dbghelp.h>
#include <shlwapi.h>
#include <tlhelp32.h>
#include "MEM_guardedalloc.h"
#include "uri_convert.hh"
#include "utfconv.hh"
#include "BLI_string.h"
#include "BLI_system.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, const EXCEPTION_POINTERS *exception_info)
static bool bli_private_symbols_loaded ()
static void bli_load_symbols ()
void BLI_system_backtrace_with_os_info (FILE *fp, const void *os_info)
void BLI_windows_exception_print_message (const void *os_info)
bli_show_message_box
static std::string get_os_info ()
static bool bli_executable_path_get (LPWSTR path, DWORD size)
static std::wstring url_encode_wstring (const std::string &str)
void BLI_windows_exception_show_dialog (const char *filepath_crashlog, const char *filepath_relaunch, const char *gpu_name, const char *build_version)

Function Documentation

◆ bli_executable_path_get()

bool bli_executable_path_get ( LPWSTR path,
DWORD size )
static

Retrieve the path to "blender-launcher.exe" if it exists; otherwise, return the current executable path.

Definition at line 516 of file system_win32.cc.

References L, and size().

Referenced by BLI_windows_exception_show_dialog().

◆ bli_load_symbols()

void bli_load_symbols ( )
static

Definition at line 374 of file system_win32.cc.

References bli_private_symbols_loaded(), and mod.

Referenced by BLI_system_backtrace_with_os_info().

◆ bli_private_symbols_loaded()

bool bli_private_symbols_loaded ( )
static

Definition at line 364 of file system_win32.cc.

Referenced by bli_load_symbols().

◆ BLI_system_backtrace_with_os_info()

void BLI_system_backtrace_with_os_info ( FILE * fp,
const void * os_info )

◆ BLI_windows_exception_print_message()

void BLI_windows_exception_print_message ( const void * os_info)

◆ BLI_windows_exception_show_dialog()

void BLI_windows_exception_show_dialog ( const char * filepath_crashlog,
const char * filepath_relaunch,
const char * gpu_name,
const char * build_version )

◆ bli_windows_get_exception_description()

const char * bli_windows_get_exception_description ( const DWORD exceptioncode)
static

◆ bli_windows_get_module_name()

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

◆ bli_windows_get_module_version()

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

Definition at line 92 of file system_win32.cc.

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

Referenced by bli_windows_system_backtrace_modules().

◆ bli_windows_system_backtrace_exception_record()

void bli_windows_system_backtrace_exception_record ( FILE * fp,
PEXCEPTION_RECORD record )
static

◆ bli_windows_system_backtrace_modules()

void bli_windows_system_backtrace_modules ( FILE * fp)
static

Definition at line 277 of file system_win32.cc.

References bli_windows_get_module_version().

Referenced by BLI_system_backtrace_with_os_info().

◆ BLI_windows_system_backtrace_run_trace()

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

◆ bli_windows_system_backtrace_stack()

bool bli_windows_system_backtrace_stack ( FILE * fp,
const EXCEPTION_POINTERS * exception_info )
static

◆ bli_windows_system_backtrace_stack_thread()

bool bli_windows_system_backtrace_stack_thread ( FILE * fp,
HANDLE hThread )
static

◆ bli_windows_system_backtrace_threads()

void bli_windows_system_backtrace_threads ( FILE * fp)
static

◆ get_os_info()

std::string get_os_info ( )
static

Definition at line 468 of file system_win32.cc.

Referenced by BLI_windows_exception_show_dialog().

◆ url_encode_wstring()

std::wstring url_encode_wstring ( const std::string & str)
static

Definition at line 565 of file system_win32.cc.

References len, result, str, and url_encode().

Referenced by BLI_windows_exception_show_dialog().