如何将调试器附加到Google v8?

时间:2019-01-07 12:33:30

标签: c++ windows debugging v8

在我的应用程序(Windows 10 VC2017)中,我启用了使用google v8v8pp编写和执行脚本的可能性。

v8pp调用这样的脚本:

v8::Local<v8::Value> context::run_script(std::string const& source, std::string const& filename)
{
    v8::EscapableHandleScope scope(isolate_);
v8::Local<v8::Context> context = isolate_->GetCurrentContext();

v8::ScriptOrigin origin(to_v8(isolate_, filename));
v8::Local<v8::Script> script;
bool const is_valid = v8::Script::Compile(context,
    to_v8(isolate_, source), &origin).ToLocal(&script);

v8::Local<v8::Value> result;
if (!script.IsEmpty())
{
    auto res1 = script->Run(context); // 
    if(! res1.IsEmpty())
         result = res1.ToLocalChecked();
    }
    return scope.Escape(result);
}

如何在我的代码中附加调试器(chrome调试器)?

我在https://v8.dev/docs/inspector找到了Google的描述- 但这使某些内容空白,并且主要由js代码组成?

然后我在https://github.com/xaxxon/v8toolkit/blob/master/src/debugger.cpp找到了v8toolkit的实现。但这似乎不适用于Windows。

将chrome调试附加到js代码的简单方法是什么?该代码通常不是文件,而是存储在数据库中,然后存储在std :: string中。

0 个答案:

没有答案