MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / getStackTraceString

Method getStackTraceString

src/Common/Exception.cpp:218–234  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

216
217
218std::string Exception::getStackTraceString() const
219{
220 auto * stack_trace_frames = get_stack_trace_frames();
221 auto stack_trace_size = get_stack_trace_size();
222 __msan_unpoison(stack_trace_frames, stack_trace_size * sizeof(stack_trace_frames[0]));
223 String thread_stack_trace;
224 std::for_each(capture_thread_frame_pointers.rbegin(), capture_thread_frame_pointers.rend(),
225 [&thread_stack_trace](FramePointers & frame_pointers)
226 {
227 thread_stack_trace +=
228 "\nJob's origin stack trace:\n" +
229 StackTrace::toString(frame_pointers.data(), 0, std::ranges::find(frame_pointers, nullptr) - frame_pointers.begin());
230 }
231 );
232
233 return StackTrace::toString(stack_trace_frames, 0, stack_trace_size) + thread_stack_trace;
234}
235
236Exception::Trace Exception::getStackFramePointers() const
237{

Callers 7

writeExceptionFunction · 0.80
sendExceptionMethod · 0.80
TEST_FFunction · 0.80

Calls 6

toStringFunction · 0.70
findFunction · 0.70
rbeginMethod · 0.45
rendMethod · 0.45
dataMethod · 0.45
beginMethod · 0.45

Tested by 2

TEST_FFunction · 0.64