pf2 0.9.0 → 1.0.0.alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -4
  3. data/Rakefile +3 -9
  4. data/doc/development.md +6 -0
  5. data/ext/pf2/debug.h +12 -0
  6. data/ext/pf2/extconf.rb +23 -6
  7. data/ext/{pf2c → pf2}/sample.c +6 -0
  8. data/ext/{pf2c → pf2}/sample.h +4 -0
  9. data/ext/{pf2c → pf2}/serializer.c +1 -1
  10. data/ext/{pf2c → pf2}/session.c +70 -20
  11. data/ext/{pf2c → pf2}/session.h +5 -0
  12. data/lib/pf2/cli.rb +3 -11
  13. data/lib/pf2/reporter/firefox_profiler_ser2.rb +17 -13
  14. data/lib/pf2/reporter/stack_weaver.rb +8 -0
  15. data/lib/pf2/reporter.rb +0 -1
  16. data/lib/pf2/version.rb +1 -1
  17. data/lib/pf2.rb +1 -1
  18. metadata +18 -135
  19. data/Cargo.lock +0 -630
  20. data/Cargo.toml +0 -3
  21. data/crates/backtrace-sys2/.gitignore +0 -1
  22. data/crates/backtrace-sys2/Cargo.toml +0 -9
  23. data/crates/backtrace-sys2/build.rs +0 -45
  24. data/crates/backtrace-sys2/src/lib.rs +0 -5
  25. data/crates/backtrace-sys2/src/libbacktrace/.gitignore +0 -15
  26. data/crates/backtrace-sys2/src/libbacktrace/Isaac.Newton-Opticks.txt +0 -9286
  27. data/crates/backtrace-sys2/src/libbacktrace/LICENSE +0 -29
  28. data/crates/backtrace-sys2/src/libbacktrace/Makefile.am +0 -708
  29. data/crates/backtrace-sys2/src/libbacktrace/Makefile.in +0 -2820
  30. data/crates/backtrace-sys2/src/libbacktrace/README.md +0 -46
  31. data/crates/backtrace-sys2/src/libbacktrace/aclocal.m4 +0 -864
  32. data/crates/backtrace-sys2/src/libbacktrace/alloc.c +0 -167
  33. data/crates/backtrace-sys2/src/libbacktrace/allocfail.c +0 -136
  34. data/crates/backtrace-sys2/src/libbacktrace/allocfail.sh +0 -104
  35. data/crates/backtrace-sys2/src/libbacktrace/atomic.c +0 -113
  36. data/crates/backtrace-sys2/src/libbacktrace/backtrace-supported.h.in +0 -66
  37. data/crates/backtrace-sys2/src/libbacktrace/backtrace.c +0 -129
  38. data/crates/backtrace-sys2/src/libbacktrace/backtrace.h +0 -189
  39. data/crates/backtrace-sys2/src/libbacktrace/btest.c +0 -517
  40. data/crates/backtrace-sys2/src/libbacktrace/compile +0 -348
  41. data/crates/backtrace-sys2/src/libbacktrace/config/enable.m4 +0 -38
  42. data/crates/backtrace-sys2/src/libbacktrace/config/lead-dot.m4 +0 -31
  43. data/crates/backtrace-sys2/src/libbacktrace/config/libtool.m4 +0 -7545
  44. data/crates/backtrace-sys2/src/libbacktrace/config/ltoptions.m4 +0 -369
  45. data/crates/backtrace-sys2/src/libbacktrace/config/ltsugar.m4 +0 -123
  46. data/crates/backtrace-sys2/src/libbacktrace/config/ltversion.m4 +0 -23
  47. data/crates/backtrace-sys2/src/libbacktrace/config/lt~obsolete.m4 +0 -98
  48. data/crates/backtrace-sys2/src/libbacktrace/config/multi.m4 +0 -68
  49. data/crates/backtrace-sys2/src/libbacktrace/config/override.m4 +0 -117
  50. data/crates/backtrace-sys2/src/libbacktrace/config/unwind_ipinfo.m4 +0 -37
  51. data/crates/backtrace-sys2/src/libbacktrace/config/warnings.m4 +0 -227
  52. data/crates/backtrace-sys2/src/libbacktrace/config.guess +0 -1700
  53. data/crates/backtrace-sys2/src/libbacktrace/config.h.in +0 -185
  54. data/crates/backtrace-sys2/src/libbacktrace/config.sub +0 -1885
  55. data/crates/backtrace-sys2/src/libbacktrace/configure +0 -15929
  56. data/crates/backtrace-sys2/src/libbacktrace/configure.ac +0 -632
  57. data/crates/backtrace-sys2/src/libbacktrace/dwarf.c +0 -4409
  58. data/crates/backtrace-sys2/src/libbacktrace/edtest.c +0 -120
  59. data/crates/backtrace-sys2/src/libbacktrace/edtest2.c +0 -43
  60. data/crates/backtrace-sys2/src/libbacktrace/elf.c +0 -7465
  61. data/crates/backtrace-sys2/src/libbacktrace/fileline.c +0 -407
  62. data/crates/backtrace-sys2/src/libbacktrace/filenames.h +0 -52
  63. data/crates/backtrace-sys2/src/libbacktrace/filetype.awk +0 -13
  64. data/crates/backtrace-sys2/src/libbacktrace/install-debuginfo-for-buildid.sh.in +0 -65
  65. data/crates/backtrace-sys2/src/libbacktrace/install-sh +0 -501
  66. data/crates/backtrace-sys2/src/libbacktrace/instrumented_alloc.c +0 -114
  67. data/crates/backtrace-sys2/src/libbacktrace/internal.h +0 -428
  68. data/crates/backtrace-sys2/src/libbacktrace/ltmain.sh +0 -8636
  69. data/crates/backtrace-sys2/src/libbacktrace/macho.c +0 -1361
  70. data/crates/backtrace-sys2/src/libbacktrace/missing +0 -215
  71. data/crates/backtrace-sys2/src/libbacktrace/mmap.c +0 -331
  72. data/crates/backtrace-sys2/src/libbacktrace/mmapio.c +0 -110
  73. data/crates/backtrace-sys2/src/libbacktrace/move-if-change +0 -83
  74. data/crates/backtrace-sys2/src/libbacktrace/mtest.c +0 -410
  75. data/crates/backtrace-sys2/src/libbacktrace/nounwind.c +0 -66
  76. data/crates/backtrace-sys2/src/libbacktrace/pecoff.c +0 -1123
  77. data/crates/backtrace-sys2/src/libbacktrace/posix.c +0 -104
  78. data/crates/backtrace-sys2/src/libbacktrace/print.c +0 -117
  79. data/crates/backtrace-sys2/src/libbacktrace/read.c +0 -110
  80. data/crates/backtrace-sys2/src/libbacktrace/simple.c +0 -108
  81. data/crates/backtrace-sys2/src/libbacktrace/sort.c +0 -108
  82. data/crates/backtrace-sys2/src/libbacktrace/state.c +0 -72
  83. data/crates/backtrace-sys2/src/libbacktrace/stest.c +0 -137
  84. data/crates/backtrace-sys2/src/libbacktrace/test-driver +0 -148
  85. data/crates/backtrace-sys2/src/libbacktrace/test_format.c +0 -55
  86. data/crates/backtrace-sys2/src/libbacktrace/testlib.c +0 -234
  87. data/crates/backtrace-sys2/src/libbacktrace/testlib.h +0 -110
  88. data/crates/backtrace-sys2/src/libbacktrace/ttest.c +0 -161
  89. data/crates/backtrace-sys2/src/libbacktrace/unittest.c +0 -92
  90. data/crates/backtrace-sys2/src/libbacktrace/unknown.c +0 -65
  91. data/crates/backtrace-sys2/src/libbacktrace/xcoff.c +0 -1617
  92. data/crates/backtrace-sys2/src/libbacktrace/xztest.c +0 -508
  93. data/crates/backtrace-sys2/src/libbacktrace/zstdtest.c +0 -523
  94. data/crates/backtrace-sys2/src/libbacktrace/ztest.c +0 -541
  95. data/ext/pf2/Cargo.toml +0 -25
  96. data/ext/pf2/build.rs +0 -10
  97. data/ext/pf2/src/backtrace.rs +0 -127
  98. data/ext/pf2/src/lib.rs +0 -22
  99. data/ext/pf2/src/profile.rs +0 -69
  100. data/ext/pf2/src/profile_serializer.rs +0 -241
  101. data/ext/pf2/src/ringbuffer.rs +0 -150
  102. data/ext/pf2/src/ruby_c_api_helper.c +0 -6
  103. data/ext/pf2/src/ruby_init.rs +0 -40
  104. data/ext/pf2/src/ruby_internal_apis.rs +0 -77
  105. data/ext/pf2/src/sample.rs +0 -67
  106. data/ext/pf2/src/scheduler.rs +0 -10
  107. data/ext/pf2/src/serialization/profile.rs +0 -48
  108. data/ext/pf2/src/serialization/serializer.rs +0 -329
  109. data/ext/pf2/src/serialization.rs +0 -2
  110. data/ext/pf2/src/session/configuration.rs +0 -114
  111. data/ext/pf2/src/session/new_thread_watcher.rs +0 -80
  112. data/ext/pf2/src/session/ruby_object.rs +0 -90
  113. data/ext/pf2/src/session.rs +0 -248
  114. data/ext/pf2/src/siginfo_t.c +0 -5
  115. data/ext/pf2/src/signal_scheduler.rs +0 -201
  116. data/ext/pf2/src/signal_scheduler_unsupported_platform.rs +0 -39
  117. data/ext/pf2/src/timer_thread_scheduler.rs +0 -179
  118. data/ext/pf2/src/util.rs +0 -31
  119. data/ext/pf2c/extconf.rb +0 -21
  120. data/lib/pf2/reporter/firefox_profiler.rb +0 -397
  121. data/rust-toolchain.toml +0 -2
  122. data/rustfmt.toml +0 -1
  123. /data/ext/{pf2c → pf2}/backtrace_state.c +0 -0
  124. /data/ext/{pf2c → pf2}/backtrace_state.h +0 -0
  125. /data/ext/{pf2c → pf2}/configuration.c +0 -0
  126. /data/ext/{pf2c → pf2}/configuration.h +0 -0
  127. /data/ext/{pf2c → pf2}/pf2.c +0 -0
  128. /data/ext/{pf2c → pf2}/pf2.h +0 -0
  129. /data/ext/{pf2c → pf2}/ringbuffer.c +0 -0
  130. /data/ext/{pf2c → pf2}/ringbuffer.h +0 -0
  131. /data/ext/{pf2c → pf2}/serializer.h +0 -0
@@ -1,129 +0,0 @@
1
- /* backtrace.c -- Entry point for stack backtrace library.
2
- Copyright (C) 2012-2024 Free Software Foundation, Inc.
3
- Written by Ian Lance Taylor, Google.
4
-
5
- Redistribution and use in source and binary forms, with or without
6
- modification, are permitted provided that the following conditions are
7
- met:
8
-
9
- (1) Redistributions of source code must retain the above copyright
10
- notice, this list of conditions and the following disclaimer.
11
-
12
- (2) Redistributions in binary form must reproduce the above copyright
13
- notice, this list of conditions and the following disclaimer in
14
- the documentation and/or other materials provided with the
15
- distribution.
16
-
17
- (3) The name of the author may not be used to
18
- endorse or promote products derived from this software without
19
- specific prior written permission.
20
-
21
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22
- IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
25
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
29
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30
- IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
- POSSIBILITY OF SUCH DAMAGE. */
32
-
33
- #include "config.h"
34
-
35
- #include <sys/types.h>
36
-
37
- #include "unwind.h"
38
- #include "backtrace.h"
39
- #include "internal.h"
40
-
41
- /* The main backtrace_full routine. */
42
-
43
- /* Data passed through _Unwind_Backtrace. */
44
-
45
- struct backtrace_data
46
- {
47
- /* Number of frames to skip. */
48
- int skip;
49
- /* Library state. */
50
- struct backtrace_state *state;
51
- /* Callback routine. */
52
- backtrace_full_callback callback;
53
- /* Error callback routine. */
54
- backtrace_error_callback error_callback;
55
- /* Data to pass to callback routines. */
56
- void *data;
57
- /* Value to return from backtrace_full. */
58
- int ret;
59
- /* Whether there is any memory available. */
60
- int can_alloc;
61
- };
62
-
63
- /* Unwind library callback routine. This is passed to
64
- _Unwind_Backtrace. */
65
-
66
- static _Unwind_Reason_Code
67
- unwind (struct _Unwind_Context *context, void *vdata)
68
- {
69
- struct backtrace_data *bdata = (struct backtrace_data *) vdata;
70
- uintptr_t pc;
71
- int ip_before_insn = 0;
72
-
73
- #ifdef HAVE_GETIPINFO
74
- pc = _Unwind_GetIPInfo (context, &ip_before_insn);
75
- #else
76
- pc = _Unwind_GetIP (context);
77
- #endif
78
-
79
- if (bdata->skip > 0)
80
- {
81
- --bdata->skip;
82
- return _URC_NO_REASON;
83
- }
84
-
85
- if (!ip_before_insn)
86
- --pc;
87
-
88
- if (!bdata->can_alloc)
89
- bdata->ret = bdata->callback (bdata->data, pc, NULL, 0, NULL);
90
- else
91
- bdata->ret = backtrace_pcinfo (bdata->state, pc, bdata->callback,
92
- bdata->error_callback, bdata->data);
93
- if (bdata->ret != 0)
94
- return _URC_END_OF_STACK;
95
-
96
- return _URC_NO_REASON;
97
- }
98
-
99
- /* Get a stack backtrace. */
100
-
101
- int __attribute__((noinline))
102
- backtrace_full (struct backtrace_state *state, int skip,
103
- backtrace_full_callback callback,
104
- backtrace_error_callback error_callback, void *data)
105
- {
106
- struct backtrace_data bdata;
107
- void *p;
108
-
109
- bdata.skip = skip + 1;
110
- bdata.state = state;
111
- bdata.callback = callback;
112
- bdata.error_callback = error_callback;
113
- bdata.data = data;
114
- bdata.ret = 0;
115
-
116
- /* If we can't allocate any memory at all, don't try to produce
117
- file/line information. */
118
- p = backtrace_alloc (state, 4096, NULL, NULL);
119
- if (p == NULL)
120
- bdata.can_alloc = 0;
121
- else
122
- {
123
- backtrace_free (state, p, 4096, NULL, NULL);
124
- bdata.can_alloc = 1;
125
- }
126
-
127
- _Unwind_Backtrace (unwind, &bdata);
128
- return bdata.ret;
129
- }
@@ -1,189 +0,0 @@
1
- /* backtrace.h -- Public header file for stack backtrace library.
2
- Copyright (C) 2012-2024 Free Software Foundation, Inc.
3
- Written by Ian Lance Taylor, Google.
4
-
5
- Redistribution and use in source and binary forms, with or without
6
- modification, are permitted provided that the following conditions are
7
- met:
8
-
9
- (1) Redistributions of source code must retain the above copyright
10
- notice, this list of conditions and the following disclaimer.
11
-
12
- (2) Redistributions in binary form must reproduce the above copyright
13
- notice, this list of conditions and the following disclaimer in
14
- the documentation and/or other materials provided with the
15
- distribution.
16
-
17
- (3) The name of the author may not be used to
18
- endorse or promote products derived from this software without
19
- specific prior written permission.
20
-
21
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22
- IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
25
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
29
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30
- IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
- POSSIBILITY OF SUCH DAMAGE. */
32
-
33
- #ifndef BACKTRACE_H
34
- #define BACKTRACE_H
35
-
36
- #include <stddef.h>
37
- #include <stdint.h>
38
- #include <stdio.h>
39
-
40
- #ifdef __cplusplus
41
- extern "C" {
42
- #endif
43
-
44
- /* The backtrace state. This struct is intentionally not defined in
45
- the public interface. */
46
-
47
- struct backtrace_state;
48
-
49
- /* The type of the error callback argument to backtrace functions.
50
- This function, if not NULL, will be called for certain error cases.
51
- The DATA argument is passed to the function that calls this one.
52
- The MSG argument is an error message. The ERRNUM argument, if
53
- greater than 0, holds an errno value. The MSG buffer may become
54
- invalid after this function returns.
55
-
56
- As a special case, the ERRNUM argument will be passed as -1 if no
57
- debug info can be found for the executable, or if the debug info
58
- exists but has an unsupported version, but the function requires
59
- debug info (e.g., backtrace_full, backtrace_pcinfo). The MSG in
60
- this case will be something along the lines of "no debug info".
61
- Similarly, ERRNUM will be passed as -1 if there is no symbol table,
62
- but the function requires a symbol table (e.g., backtrace_syminfo).
63
- This may be used as a signal that some other approach should be
64
- tried. */
65
-
66
- typedef void (*backtrace_error_callback) (void *data, const char *msg,
67
- int errnum);
68
-
69
- /* Create state information for the backtrace routines. This must be
70
- called before any of the other routines, and its return value must
71
- be passed to all of the other routines. FILENAME is the path name
72
- of the executable file; if it is NULL the library will try
73
- system-specific path names. If not NULL, FILENAME must point to a
74
- permanent buffer. If THREADED is non-zero the state may be
75
- accessed by multiple threads simultaneously, and the library will
76
- use appropriate atomic operations. If THREADED is zero the state
77
- may only be accessed by one thread at a time. This returns a state
78
- pointer on success, NULL on error. If an error occurs, this will
79
- call the ERROR_CALLBACK routine.
80
-
81
- Calling this function allocates resources that cannot be freed.
82
- There is no backtrace_free_state function. The state is used to
83
- cache information that is expensive to recompute. Programs are
84
- expected to call this function at most once and to save the return
85
- value for all later calls to backtrace functions. */
86
-
87
- extern struct backtrace_state *backtrace_create_state (
88
- const char *filename, int threaded,
89
- backtrace_error_callback error_callback, void *data);
90
-
91
- /* The type of the callback argument to the backtrace_full function.
92
- DATA is the argument passed to backtrace_full. PC is the program
93
- counter. FILENAME is the name of the file containing PC, or NULL
94
- if not available. LINENO is the line number in FILENAME containing
95
- PC, or 0 if not available. FUNCTION is the name of the function
96
- containing PC, or NULL if not available. This should return 0 to
97
- continuing tracing. The FILENAME and FUNCTION buffers may become
98
- invalid after this function returns. */
99
-
100
- typedef int (*backtrace_full_callback) (void *data, uintptr_t pc,
101
- const char *filename, int lineno,
102
- const char *function);
103
-
104
- /* Get a full stack backtrace. SKIP is the number of frames to skip;
105
- passing 0 will start the trace with the function calling
106
- backtrace_full. DATA is passed to the callback routine. If any
107
- call to CALLBACK returns a non-zero value, the stack backtrace
108
- stops, and backtrace returns that value; this may be used to limit
109
- the number of stack frames desired. If all calls to CALLBACK
110
- return 0, backtrace returns 0. The backtrace_full function will
111
- make at least one call to either CALLBACK or ERROR_CALLBACK. This
112
- function requires debug info for the executable. */
113
-
114
- extern int backtrace_full (struct backtrace_state *state, int skip,
115
- backtrace_full_callback callback,
116
- backtrace_error_callback error_callback,
117
- void *data);
118
-
119
- /* The type of the callback argument to the backtrace_simple function.
120
- DATA is the argument passed to simple_backtrace. PC is the program
121
- counter. This should return 0 to continue tracing. */
122
-
123
- typedef int (*backtrace_simple_callback) (void *data, uintptr_t pc);
124
-
125
- /* Get a simple backtrace. SKIP is the number of frames to skip, as
126
- in backtrace. DATA is passed to the callback routine. If any call
127
- to CALLBACK returns a non-zero value, the stack backtrace stops,
128
- and backtrace_simple returns that value. Otherwise
129
- backtrace_simple returns 0. The backtrace_simple function will
130
- make at least one call to either CALLBACK or ERROR_CALLBACK. This
131
- function does not require any debug info for the executable. */
132
-
133
- extern int backtrace_simple (struct backtrace_state *state, int skip,
134
- backtrace_simple_callback callback,
135
- backtrace_error_callback error_callback,
136
- void *data);
137
-
138
- /* Print the current backtrace in a user readable format to a FILE.
139
- SKIP is the number of frames to skip, as in backtrace_full. Any
140
- error messages are printed to stderr. This function requires debug
141
- info for the executable. */
142
-
143
- extern void backtrace_print (struct backtrace_state *state, int skip, FILE *);
144
-
145
- /* Given PC, a program counter in the current program, call the
146
- callback function with filename, line number, and function name
147
- information. This will normally call the callback function exactly
148
- once. However, if the PC happens to describe an inlined call, and
149
- the debugging information contains the necessary information, then
150
- this may call the callback function multiple times. This will make
151
- at least one call to either CALLBACK or ERROR_CALLBACK. This
152
- returns the first non-zero value returned by CALLBACK, or 0. */
153
-
154
- extern int backtrace_pcinfo (struct backtrace_state *state, uintptr_t pc,
155
- backtrace_full_callback callback,
156
- backtrace_error_callback error_callback,
157
- void *data);
158
-
159
- /* The type of the callback argument to backtrace_syminfo. DATA and
160
- PC are the arguments passed to backtrace_syminfo. SYMNAME is the
161
- name of the symbol for the corresponding code. SYMVAL is the
162
- value and SYMSIZE is the size of the symbol. SYMNAME will be NULL
163
- if no error occurred but the symbol could not be found. */
164
-
165
- typedef void (*backtrace_syminfo_callback) (void *data, uintptr_t pc,
166
- const char *symname,
167
- uintptr_t symval,
168
- uintptr_t symsize);
169
-
170
- /* Given ADDR, an address or program counter in the current program,
171
- call the callback information with the symbol name and value
172
- describing the function or variable in which ADDR may be found.
173
- This will call either CALLBACK or ERROR_CALLBACK exactly once.
174
- This returns 1 on success, 0 on failure. This function requires
175
- the symbol table but does not require the debug info. Note that if
176
- the symbol table is present but ADDR could not be found in the
177
- table, CALLBACK will be called with a NULL SYMNAME argument.
178
- Returns 1 on success, 0 on error. */
179
-
180
- extern int backtrace_syminfo (struct backtrace_state *state, uintptr_t addr,
181
- backtrace_syminfo_callback callback,
182
- backtrace_error_callback error_callback,
183
- void *data);
184
-
185
- #ifdef __cplusplus
186
- } /* End extern "C". */
187
- #endif
188
-
189
- #endif