我是GDB和V8 JavaScript引擎的新手。
编译shell.cc(/v8/v8-trunk/samples/Shell.cc)之后,我尝试在parser.cc中设置断点(b Parser :: Parser)(/ v8 / v8-trunk / src) ,然后GDB意外地显示错误消息:找不到名为“Parser :: Parser”的命名空间,类,结构或联合的成员。但是,可以在parser.cc中找到方法“Parser :: Parser”的源代码。
有什么想法吗?谢谢。
(gdb) c
Continuing.
V8 version 3.13.1 [sample shell]
> 3+5;
8
>
Program received signal SIGINT, Interrupt.
0x00752402 in __kernel_vsyscall ()
(gdb) b Parser::Parser
Can't find member of namespace, class, struct, or union named "Parser::Parser"
Hint: try 'Parser::Parser<TAB> or 'Parser::Parser<ESC-?>
(Note leading single quote.)
(gdb)
答案 0 :(得分:0)
您还需要指定名称空间。根据{{3}},Parser::Parser
位于v8::internal
命名空间内。试试这个:
(gdb) b 'v8::internal::Parser::Parser'