diff options
author | Abseil Team <absl-team@google.com> | 2022-03-18 14:42:21 -0700 |
---|---|---|
committer | vslashg <gfalcon@google.com> | 2022-03-21 16:20:03 -0400 |
commit | 6c8dab80c06820f475ce0a1fe873b8022cb274f6 (patch) | |
tree | 82afb528397d88bca8bc5a49dcdc6ff5b9940639 /absl/debugging/internal/examine_stack.h | |
parent | 4c015dbb49fcfac25899f3ba7da4be665b5f9aab (diff) | |
download | abseil-6c8dab80c06820f475ce0a1fe873b8022cb274f6.tar.gz abseil-6c8dab80c06820f475ce0a1fe873b8022cb274f6.tar.bz2 abseil-6c8dab80c06820f475ce0a1fe873b8022cb274f6.zip |
Export of internal Abseil changes
--
f3ac7ee28fc7de737bc9e2e1d10ff7739781d645 by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 435739199
Change-Id: I8f854b742418a237f9060e4b9f23d0f20baf0bdf
--
fe1329708cb40da8e72e53e4eaad79112bdb79ea by Abseil Team <absl-team@google.com>:
Port SwissTable internals comments from github.com/google/cwisstable to Abseil.
PiperOrigin-RevId: 435719801
Change-Id: I2270cc93aaa5d3d57954a8cea7e570b72b6c3956
--
a6e6fcd4b944ce370ac3307e848645c27bf21e47 by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 435716325
Change-Id: I77999f69e176ee6c0d18e7c3329a7c336164f0fc
GitOrigin-RevId: f3ac7ee28fc7de737bc9e2e1d10ff7739781d645
Diffstat (limited to 'absl/debugging/internal/examine_stack.h')
-rw-r--r-- | absl/debugging/internal/examine_stack.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/absl/debugging/internal/examine_stack.h b/absl/debugging/internal/examine_stack.h index 61f0056f..190af87f 100644 --- a/absl/debugging/internal/examine_stack.h +++ b/absl/debugging/internal/examine_stack.h @@ -31,7 +31,7 @@ typedef void OutputWriter(const char*, void*); // `hook` that is called each time DumpStackTrace() is called. // `hook` may be called from a signal handler. typedef void (*SymbolizeUrlEmitter)(void* const stack[], int depth, - OutputWriter writer, void* writer_arg); + OutputWriter* writer, void* writer_arg); // Registration of SymbolizeUrlEmitter for use inside of a signal handler. // This is inherently unsafe and must be signal safe code. @@ -41,14 +41,21 @@ SymbolizeUrlEmitter GetDebugStackTraceHook(); // Returns the program counter from signal context, or nullptr if // unknown. `vuc` is a ucontext_t*. We use void* to avoid the use of // ucontext_t on non-POSIX systems. -void* GetProgramCounter(void* vuc); +void* GetProgramCounter(void* const vuc); -// Uses `writerfn` to dump the program counter, stack trace, and stack +// Uses `writer` to dump the program counter, stack trace, and stack // frame sizes. -void DumpPCAndFrameSizesAndStackTrace( - void* pc, void* const stack[], int frame_sizes[], int depth, - int min_dropped_frames, bool symbolize_stacktrace, - void (*writerfn)(const char*, void*), void* writerfn_arg); +void DumpPCAndFrameSizesAndStackTrace(void* const pc, void* const stack[], + int frame_sizes[], int depth, + int min_dropped_frames, + bool symbolize_stacktrace, + OutputWriter* writer, void* writer_arg); + +// Dump current stack trace omitting the topmost `min_dropped_frames` stack +// frames. +void DumpStackTrace(int min_dropped_frames, int max_num_frames, + bool symbolize_stacktrace, OutputWriter* writer, + void* writer_arg); } // namespace debugging_internal ABSL_NAMESPACE_END |