G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsStackWalker.h
Go to the documentation of this file.
1
14#pragma once
15
16#include <gsCore/gsConfig.h>
17#include <gsCore/gsExport.h>
18
19#include <signal.h>
20
21#if defined(_WIN32) && !defined(NOMINMAX)
22 #define NOMINMAX 1
23 #include <windows.h>
24 #undef NOMINMAX
25#endif
26
27
28namespace gismo {
29
30namespace internal {
31
32#if defined(__GNUC__) && !defined(_WIN32)
33
35 void gsStackWalker(void * context);
36
38 void gsExceptionHook(int sig, siginfo_t * siginfo, void * context);
39
41 void printGccDemangled(char * symbol);
42
43#endif
44
45
46#if defined(_WIN32)
47
49 GISMO_EXPORT void gsStackWalker(CONTEXT * context);
50
52 GISMO_EXPORT LONG WINAPI gsExceptionHook(EXCEPTION_POINTERS * ExceptionInfo);
53
55 GISMO_EXPORT BOOL PreventSetUnhandledExceptionFilter();
56
57
58 // see https://msdn.microsoft.com/en-us/library/5at7yxcs.aspx
59 //static const int gismoCrtDbgFlag =
60 //_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
61
62#endif
63
64
66GISMO_EXPORT bool gsExceptionHandler();
67
68
70static const bool gismoExceptionHandler = gsExceptionHandler();
71
72} // end namespace internal
73
74} // end namespace gismo
75
76
77#ifndef GISMO_BUILD_LIB
78#include GISMO_HPP_HEADER(gsStackWalker.cpp)
79#endif
Provides preprocessor directives configuration of G+Smo.
Handles shared library creation and other class attributes.
bool gsExceptionHandler()
Exception handler.
The G+Smo namespace, containing all definitions for the library.