Add a jss gdb macro that skips over the jitted stack in gdb
Use it like this: Program received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 0x7f50d02c4700 (LWP 8152)] base::debug::(anonymous namespace)::DebugBreak () at ../../base/debug/debugger_posix.cc:230 230 } (gdb) bt at ../../base/debug/debugger_posix.cc:230 ... args_object=0x7f50d02bfe00, isolate=0x2f001c9e2020) at ../../v8/src/builtins/builtins-api.cc:123 ... (gdb) jss (gdb) bt isolate=0x2f001c9e2020, is_construct=false, target=..., receiver=..., argc=1, args=0x7f50d02c0518, new_target=...) at ../../v8/src/execution.cc:111 isolate=0x2f001c9e2020, callable=..., receiver=..., argc=1, argv=0x7f50d02c0518) at ../../v8/src/execution.cc:168 ... R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2186013002 Cr-Commit-Position: refs/heads/master@{#38121}
This commit is contained in:
parent
f3eff9344c
commit
a811808432
@ -56,5 +56,17 @@ 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
|
||||
|
Loading…
Reference in New Issue
Block a user