我试图让chrome的V8(d8)x64.release
版本使用GDB中的V8支持工具,特别是job
和telescope
命令(主要是前者)。
我的x64.debug
版本已经实现了这个命令并且可以工作,但是即使以类似的方式构建了x64.release
版本,我仍然不能让这些命令在x64.release
版本中工作。
gef➤ job 0xd98082f7b51
No symbol "_v8_internal_Print_Object" in current context.
我在args.gn构建ninja -C
之前和之后都设置了www.example.com,以便在我的args.gn
中包含v8_enable_object_print = true
:
is_debug = false
target_cpu = "x64"
use_goma = false
v8_enable_object_print = true
v8_enable_disassembler = true
我也有我的~/.gdbinit
包含:
source ~/Desktop/tools/v8/tools/gdbinit
source ~/Desktop/tools/v8/tools/gdb-v8-support.py
请参见:https://chromium.googlesource.com/v8/v8/+/refs/heads/main/tools/gdbinit(关于我试图构建V8的支持工具)。
如何使/v8/out.gn/x64.release/d8
与job
命令兼容运行?
我错过了什么吗?如果是这样,你的帮助将是非常有帮助的。
EDIT或者,如何禁用所有x64.debug
V8 DCHECKS?
谢谢大家,感谢你们在这里的时间。
1条答案
按热度按时间jgwigjjp1#
如何使
/v8/out.gn/x64.release/d8
与job
命令兼容运行?我不确定。试着把
symbol_level = 1
(甚至symbol_level = 2
)加到你的args.gn
中。这肯定对堆栈跟踪有帮助,也可能是让GDB通过名字找到_v8_internal_Print_Object
函数的原因。或者,我如何禁用所有
x64.debug
V8 DCHECKS?没有禁用它们的标志,但是你可以编辑源代码使它们不做任何事情。参见
src/base/logging.h
。