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

Method TryExtractOldStyleStackTrace

deps/v8/tools/grokdump.py:2365–2400  ·  view source on GitHub ↗
(self, message_slot, start, end,
                                   print_message)

Source from the content-addressed store, hash-verified

2363 return stack_start
2364
2365 def TryExtractOldStyleStackTrace(self, message_slot, start, end,
2366 print_message):
2367 ptr_size = self.reader.MachinePointerSize()
2368 if message_slot == 0:
2369 """
2370 On Mac we don't always get proper magic markers, so just try printing
2371 the first long ascii string found on the stack.
2372 """
2373 magic1 = None
2374 magic2 = None
2375 message_start, message = self.FindFirstAsciiString(start, end, 128)
2376 if message_start is None:
2377 return start
2378 else:
2379 message_start = self.reader.ReadUIntPtr(message_slot + ptr_size * 4)
2380 message = self.reader.ReadAsciiString(message_start)
2381 stack_start = message_start + len(message) + 1
2382 # Make sure the address is word aligned
2383 stack_start = stack_start - (stack_start % ptr_size)
2384 if magic1 is None:
2385 print("Stack Message:")
2386 print(" message start: %s" % self.heap.FormatIntPtr(message_start))
2387 print(" stack_start: %s" % self.heap.FormatIntPtr(stack_start ))
2388 else:
2389 ptr1 = self.reader.ReadUIntPtr(slot + ptr_size * 2)
2390 ptr2 = self.reader.ReadUIntPtr(slot + ptr_size * 3)
2391 print("Stack Message:")
2392 print(" magic1: %s" % self.heap.FormatIntPtr(magic1))
2393 print(" magic2: %s" % self.heap.FormatIntPtr(magic2))
2394 print(" ptr1: %s" % self.heap.FormatIntPtr(ptr1))
2395 print(" ptr2: %s" % self.heap.FormatIntPtr(ptr2))
2396 print(" message start: %s" % self.heap.FormatIntPtr(message_start))
2397 print(" stack_start: %s" % self.heap.FormatIntPtr(stack_start ))
2398 print("")
2399 self.FormatStackTrace(message, print_message)
2400 return stack_start
2401
2402 def FormatStackTrace(self, message, print_message):
2403 if not print_message:

Callers 1

Calls 7

FindFirstAsciiStringMethod · 0.95
FormatStackTraceMethod · 0.95
ReadUIntPtrMethod · 0.80
ReadAsciiStringMethod · 0.80
printFunction · 0.70
MachinePointerSizeMethod · 0.45
FormatIntPtrMethod · 0.45

Tested by

no test coverage detected