当前位置: 首页 > 知识库问答 >
问题:

调试适配器中未处理的错误:SyntaxError:JSON中位于位置0的意外标记L

黎承颜
2023-03-14

错误:

******** Unhandled error in debug adapter: SyntaxError: Unexpected token L in JSON at position 0    
    at JSON.parse (<anonymous>)
    at Pipe.channel.onread (internal/child_process.js:471:28)

大家好,

我在这里和其他地方发现了很多类似的问题,但没有一个包括“调试适配器中未处理的错误”。我尝试了很多工作流程,但都不管用。

简短介绍:

操作系统:Windows 64x

IDE:VS代码(版本:1.25.1/launch.json见下文)

vscode插件:React原生工具(版本:0.6.12)

语言/框架: React-Native

(React版本:16.4.1/RN版本0.55.4/cli版本:2.0.1)

项目:Android应用程序(iOS随后发布)

React Native的输出:运行android安装APK的应用程序调试。apk’成功了。

React-Native的输出:通过执行启动自定义调试器: echo不需要调试器:"[项目位置]""[项目位置]. vscode"

启动应用程序与反应原生运行Android通过终端仍在工作。

尝试以下故障排除步骤:

  • 注释掉所有JSON。parse()调用

现有项目规模太大,无法在此处展示,且不存在于公共回购协议中。

发射json——我使用的是“调试Android”

{    
    "version": "0.2.0",
    "configurations": [        
        {
            "name": "Debug Android",    
            "program": "${workspaceRoot}/.vscode/launchReactNative.js",    
            "type": "reactnative",
            "request": "launch",    
            "platform": "android",    
            "sourceMaps": true,    
            "outDir": "${workspaceRoot}/.vscode/.react",
        },
        {
            "name": "Debug iOS",
            "program": "${workspaceRoot}/.vscode/launchReactNative.js",
            "type": "reactnative",
            "request": "launch",
            "platform": "ios",
            "sourceMaps": true,
            "outDir": "${workspaceRoot}/.vscode/.react"
        },
        {
            "name": "Attach to packager",
            "program": "${workspaceRoot}/.vscode/launchReactNative.js",
            "type": "reactnative",
            "request": "attach",
            "sourceMaps": true,
            "outDir": "${workspaceRoot}/.vscode/.react"
        },
        {
            "name": "Debug in Exponent",
            "program": "${workspaceRoot}/.vscode/launchReactNative.js",
            "type": "reactnative",
            "request": "launch",
            "platform": "exponent",
            "sourceMaps": true,
            "outDir": "${workspaceRoot}/.vscode/.react"
        }
    ]
}

我不知道问题出在哪里:

  • 项目
  • vscode
  • 节点

Logcat只打印[信息],没有警告和错误。

想要用vscode的调试终端调试项目,因为用chrome调试不适用于断点。

我对使用vscode和RN非常陌生,请更详细地解释可能的解决方案。

提前谢谢。

克里斯

共有1个答案

霍锦
2023-03-14

错误在vscode react本机扩展中。已经有一个pull请求来修复这个问题,但是如果你想冒险,请转到你的vscode extensions文件夹,打开vscode react native文件夹,转到src/debugger/forkedAppWorker。js并替换以下行:

const nodeArgs = [`--inspect=${port}`, "--debug-brk", scriptToRunPath]; 

const nodeArgs = [`--inspect=${port}`, "--debug-brk"];

this.debuggeeProcess = child_process.spawn("node", nodeArgs, { 
    stdio: ["pipe", "pipe", "pipe", "ipc"], 
}) 

具有

this.debuggeeProcess = child_process.fork(scriptToRunPath, nodeArgs) 

有关更多详细信息,请参阅实际的文件更改日志(不要担心它是. ts vs. js,也不要担心其他两个文件被更改)。

 类似资料:
  • 问题内容: 在处理类似于Facebook的内容提要的React应用程序组件中,我遇到了一个错误: Feed.js:94未定义“ parsererror”“ SyntaxError:JSON中位置0处的意外令牌< 我遇到了类似的错误,事实证明这是render函数中HTML的错字,但这里似乎并非如此。 更令人困惑的是,我将代码回滚到了较早的已知工作版本,但仍然遇到错误。 Feed.js: 在Chrom

  • 我有以下PHP类: 在这个类中,我有两个主要功能,第一个是连接到服务器,另一个是登录。 然后,在Angular web应用程序中,如果用户添加了他的凭据,这些凭据将通过Angular 6的HttpClient发送到login.php脚本: error:SyntaxError:Excurned token 下面是一张截图: 在network选项卡中,我从login.php返回了一个错误: 注意:未定

  • 问题内容: 在处理类似于Facebook的内容提要的React应用程序组件中,我遇到了一个错误: Feed.js:94未定义的“ parsererror”“ SyntaxError:JSON中位置0处的意外令牌< 我遇到了一个类似的错误,事实证明这是render函数中HTML的错字,但这里似乎并非如此。 更令人困惑的是,我将代码回滚到了较早的已知工作版本,但仍然出现错误。 Feed.js: 在Ch

  • 你知道我必须如何正确配置Springendpoint吗? 编辑我尝试了以下操作:

  • 想要显示图像,在ionic页面的视图中用Laravel从rest API响应。 代码在使用postman测试时有效,但在ionic中出错: 服务或提供商中的Frent-end(离子) 组件:

  • 我在angular中得到以下错误我的后端是java SyntaxError:在JSON中,在XMLHttpRequest.onload(http://localhost:4200/vendor.js:10132:51)zoneDelegate.invokeTask(http://localhost:4200/polyfills.js:3626:31)zoneDelegate.invokeTask(