v8/tools/gdbinit
ishell e063b7118c [gdb] Define print functions used by gdb macros in the top level namespace to make them always be available.
This should fix the following errors that sometimes appear when using V8 gdb macros:
  Cannot evaluate function -- may be inlined
or
  No symbol "xxx" in namespace "v8::internal".

Review-Url: https://codereview.chromium.org/2186293002
Cr-Commit-Position: refs/heads/master@{#38145}
2016-07-28 17:09:35 +00:00

73 lines
1.5 KiB
Plaintext

# Copyright 2014 the V8 project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Print HeapObjects.
define job
call _v8_internal_Print_Object((void*)($arg0))
end
document job
Print a v8 JavaScript object
Usage: job tagged_ptr
end
# Print Code objects containing given PC.
define jco
call _v8_internal_Print_Code((void*)($arg0))
end
document jco
Print a v8 Code object from an internal code address
Usage: jco pc
end
# Print TypeFeedbackVector
define jfv
call _v8_internal_Print_TypeFeedbackVector((void*)($arg0))
end
document jfv
Print a v8 TypeFeedbackVector object
Usage: jtv tagged_ptr
end
# Print DescriptorArray.
define jda
call _v8_internal_Print_DescriptorArray((void*)($arg0))
end
document jda
Print a v8 DescriptorArray object
Usage: jda tagged_ptr
end
# Print TransitionArray.
define jta
call _v8_internal_Print_TransitionArray((void*)($arg0))
end
document jta
Print a v8 TransitionArray object
Usage: jta tagged_ptr
end
# Print JavaScript stack trace.
define jst
call _v8_internal_Print_StackTrace()
end
document jst
Print the current JavaScript stack trace
Usage: jst
end
# Skip the JavaScript stack.
define jss
set $js_entry_sp=v8::internal::Isolate::Current()->thread_local_top()->js_entry_sp_
set $rbp=*(void**)$js_entry_sp
set $rsp=$js_entry_sp + 2*sizeof(void*)
set $pc=*(void**)($js_entry_sp+sizeof(void*))
end
document jss
Skip the jitted stack on x64 to where we entered JS last.
Usage: jss
end
set disassembly-flavor intel
set disable-randomization off