Go to the documentation of this file.
26 #include "absl/debugging/stacktrace.h"
27 #include "absl/debugging/symbolize.h"
36 void* writerfn_arg,
void* pc,
37 void* symbolize_pc,
int framesize,
38 const char*
const prefix) {
40 const char* symbol =
"(unknown)";
46 snprintf(
buf,
sizeof(
buf),
"%s@ %*p (unknown) %s\n",
prefix,
52 writerfn(
buf, writerfn_arg);
56 void* writerfn_arg,
void* pc,
int framesize,
57 const char*
const prefix) {
60 snprintf(
buf,
sizeof(
buf),
"%s@ %*p (unknown)\n",
prefix,
66 writerfn(
buf, writerfn_arg);
70 bool symbolize_stacktrace,
71 void (*writerfn)(
const char*,
void*),
void* writerfn_arg) {
73 if (symbolize_stacktrace) {
75 reinterpret_cast<char*
>(
stack[
i]) - 1,
84 void DebugWriteToString(
const char*
data,
void*
str) {
95 constexpr
int kNumStackFrames = 32;
96 void*
stack[kNumStackFrames];
97 int frame_sizes[kNumStackFrames];
ABSL_ATTRIBUTE_NOINLINE ABSL_ATTRIBUTE_NO_TAIL_CALL int GetStackFrames(void **result, int *sizes, int max_depth, int skip_count)
void SetCurrentStackTraceProvider(gpr_current_stack_trace_func current_stack_trace_provider)
bool Symbolize(const void *pc, char *out, int out_size)
void InitializeStackTracer(const char *argv0)
static void DumpPCAndFrameSizeAndSymbol(void(*writerfn)(const char *, void *), void *writerfn_arg, void *pc, void *symbolize_pc, int framesize, const char *const prefix)
ABSL_NAMESPACE_BEGIN void InitializeSymbolizer(const char *argv0)
static const char prefix[]
std::string GetCurrentStackTrace()
ABSL_ATTRIBUTE_NOINLINE void DumpStackTrace(int min_dropped_frames, int max_num_frames, bool symbolize_stacktrace, OutputWriter *writer, void *writer_arg)
static void DumpPCAndFrameSize(void(*writerfn)(const char *, void *), void *writerfn_arg, void *pc, int framesize, const char *const prefix)
static constexpr int kPrintfPointerFieldWidth
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:21