MCPcopy Index your code
hub / github.com/nodejs/node / try_output_stack_trace

Method try_output_stack_trace

deps/v8/tools/grokdump.py:2985–3003  ·  view source on GitHub ↗

Try to print a possible message from PushStackTraceAndDie. Returns the first address where the normal stack starts again.

(self, f, start=None, print_message=True)

Source from the content-addressed store, hash-verified

2983 return
2984
2985 def try_output_stack_trace(self, f, start=None, print_message=True):
2986 """
2987 Try to print a possible message from PushStackTraceAndDie.
2988 Returns the first address where the normal stack starts again.
2989 """
2990 # Only look at the first 1k words on the stack
2991 ptr_size = self.reader.MachinePointerSize()
2992 if start is None:
2993 start = self.reader.ExceptionSP()
2994 if not self.reader.IsValidAddress(start):
2995 return start
2996 end = start + ptr_size * 1024 * 4
2997 for slot in range(start, end, ptr_size):
2998 if not self.reader.IsValidAddress(slot + ptr_size):
2999 break
3000 magic = self.reader.ReadUIntPtr(slot)
3001 if magic == STACK_TRACE_MARKER:
3002 return self.output_stack_trace(f, slot, start, end, print_message)
3003 return start
3004
3005 def output_stack_trace(self, f, slot, start, end, print_message):
3006 ptr_size = self.reader.MachinePointerSize()

Callers 1

output_summaryMethod · 0.95

Calls 6

output_stack_traceMethod · 0.95
ExceptionSPMethod · 0.80
IsValidAddressMethod · 0.80
ReadUIntPtrMethod · 0.80
rangeFunction · 0.50
MachinePointerSizeMethod · 0.45

Tested by

no test coverage detected