acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
call_stack.h
1
/*
2
Copyright (ca) 2002
3
Author: Konstantin Boukreev
4
E-mail:
[email protected]
5
Created: 16.01.2002 12:36:26
6
Version: 1.0.0
7
8
Permission to use, copy, modify, distribute and sell this software
9
and its documentation for any purpose is hereby granted without fee,
10
provided that the above copyright notice appear in all copies and
11
that both that copyright notice and this permission notice appear
12
in supporting documentation. Konstantin Boukreev makes no representations
13
about the suitability of this software for any purpose.
14
It is provided "as is" without express or implied warranty.
15
16
the exception class holding the call stack's information
17
18
exception2 : std_exception
19
20
try {
21
}
22
catch(exception2& ex) {
23
std_cout << ex.trace_call();
24
}
25
26
*/
27
#pragma once
28
29
30
31
32
class
CLASS_DECL_ACME call_stack :
33
public
::matter
34
{
35
public
:
36
37
38
const_char_pointer m_pszFormat;
39
const_char_pointer m_pszCallStack;
40
::i32 m_iCount;
41
42
void
* m_caller_address;
43
44
45
call_stack(const ::scoped_string & scopedstrFormat = default_format(), ::i32 iSkip = CALL_STACK_DEFAULT_SKIP_TRIGGER,
void
* caller_address =
nullptr
, ::i32 iCount = -1);
46
virtual
~call_stack();
47
48
49
//static void global_enable_stack_trace(bool bEnable = true);
50
static
const_char_pointer default_format() {
return
"%f(%l) %s\n"
; }
51
52
const_char_pointer get_dup(const ::scoped_string & scopedstrFormat = default_format(), ::i32 uiSkip = CALL_STACK_DEFAULT_SKIP_TRIGGER, ::i32 iCount = -1);
53
54
const_char_pointer xxxstack_trace()
const
;
55
56
};
57
58
exception
call_stack.h
Generated by
1.17.0