gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:24:06 25 4
gpt4 key购买 nike

在我的应用程序(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中。

最佳答案

我终于完成了Windows版本的v8inspector,该版本与集成了v8的独立Windows应用程序很好地兼容。

我做了一个自己的分支,其中包括在哪里可以找到/构建所需的第三方库(或在哪里可以找到预构建版本)的描述。我还做了一些更改/添加:
https://github.com/StefanWoe/v8inspector

同时,这也已合并到父项目中:
https://github.com/hsharsha/v8inspector

编辑:
同时,我把矛头指向了另一个由boost::beast构建且没有其他依赖的实现。更简单,更强大等:
https://github.com/ahmadov/v8_inspector_example

关于c++ - 如何将调试器附加到Google v8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54074537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com