具体情况是这样
我的 项目很大 js 端很重
然后 用真机调试 vs code 里面 已经按官方文档说的配置好了(新的测试工程是可以 真机打断点的)
但是 我的项目 用xcode 跑起来后 然后点击 vs code 里面的 调试按钮 直接就崩溃了
我一个断点都没打
主要是在
void ScriptingCore::debugProcessInput(const std::string& str)
{
JSAutoCompartment ac(_cx, _debugGlobal->get());
JSString* jsstr = JS_NewStringCopyZ(_cx, str.c_str());
jsval argv = STRING_TO_JSVAL(jsstr);
JS::RootedValue outval(_cx);
JS::RootedObject debugGlobal(_cx, _debugGlobal->get());
JS_CallFunctionName(_cx, debugGlobal, "processInput", JS::HandleValueArray::fromMarkedLocation(1, &argv), &outval);
}
JS_CallFunctionName(_cx, debugGlobal, "processInput", JS::HandleValueArray::fromMarkedLocation(1, &argv), &outval);
这一行
======================
窗口打印的是
debug server : client connected
我c++ 跟了一下 这里有2次进入 这里
传过来的 参数 分别如下
第一次:87:{“to”:“server.conn0.context1”,“type”:“attach”,“useSourceMaps”:true,“autoBlackBox”:true}
这是不会崩溃的。
第二次
47:{“to”:“server.conn0.context1”,“type”:“sources”}
这次来了后 JS_CallFunctionName 这个调用直接爆掉。
ccc 版本 1.5.1