如何使用GDB在V8中设置断点

时间:2012-10-08 17:53:00

标签: gdb v8

我是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)

1 个答案:

答案 0 :(得分:0)

您还需要指定名称空间。根据{{​​3}},Parser::Parser位于v8::internal命名空间内。试试这个:

(gdb) b 'v8::internal::Parser::Parser'