React Native - 调试适配器进程已意外终止

Posted

技术标签:

【中文标题】React Native - 调试适配器进程已意外终止【英文标题】:React Native - Debug adapter process has terminated unexpectedly 【发布时间】:2017-12-05 09:55:48 【问题描述】:

我正在尝试在 Mac 上的 VS Code 上为 react-native 设置调试环境。 这是 launch.json


    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
            "name": "Debug ios",
            "program": "$workspaceRoot/.vscode/launchReactNative.js",
            "type": "reactnative",
            "request": "launch",
            "platform": "ios",
            "sourceMaps": true,
            "outDir": "$workspaceRoot/.vscode/.react",
            "target": "simulator"
        ,
        
            "name": "Debug android",
            "program": "$workspaceRoot/.vscode/launchReactNative.js",
            "type": "reactnative",
            "request": "launch",
            "platform": "android",
            "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"
        
    ]
  

在调试时我收到错误 - 调试适配器进程意外终止。 还有一个错误。

我也在Github 上打开了一个问题,但还没有收到解决方案。

更新:为了回应 ShaneG 的回答,我正在添加项目方案和 info.plist 的屏幕截图

【问题讨论】:

这很奇怪,对于所有在 mac 上工作的 react-native 开发人员可能都经历过的主题,我没有收到任何评论/答案。 【参考方案1】:

检查:在您的.vsCode 文件夹中,查看您是否有.react 文件夹。

如果不这样做,请尝试从项目文件夹的根目录运行 code .。如果尚未安装,则需要从 VSCode 安装 shell 命令(输入 shift-command-p 并搜索 Shell command: Install code command PATH)。

这是我的问题,无论出于何种原因,当我从聚光灯下打开 VSCode 时,没有创建 .react 文件夹。

【讨论】:

我运行了 Shell 命令:从 VSCode 安装代码命令 PATH,但仍未创建 .react 文件夹。 但后来当我运行该项目时,它工作了,现在我可以在模拟器上看到该应用程序。 .vscode 文件夹中仍然没有 .react 文件夹。上面有什么cmets吗? 据我了解,您需要一个.react 文件夹才能将打包程序正确链接到模拟器。否则某些工具(例如调试器)可能无法工作。如果您能够在没有此文件夹的情况下正常开发,则您可能有不同的设置或问题。 在运行 code . 之前我必须运行 export PATH="/home/danny/.npm-global/bin:$PATH" 才能创建 .react 因为我正在使用 npm 全局包的自定义位置,我猜它找不到 react-native- cli 因为这个。 对我没有帮助,.react 文件夹已创建,但 launchReactNative.js 文件没有,仍然是同样的错误【参考方案2】:

我看到了您运行的“调试 ios”。你能确定它指向正确的 info.plist 文件吗?如果它指向旧的 info.plist,可能会出现许多错误。 我可以在您发布的 GitHub 问题上看到,当您从命令行运行它时,它输出了一个非常有用的错误。

An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier 
build/Build/Products/Debug-iphonesimulator/firstdemo.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

它试图访问 bundleIdentifier 但似乎找不到它。此信息应位于 info.plist 文件中。您的应用可能会被路由到没有此信息的旧 info.plist 文件。

如何检查它是否指向正确的 info.plist?

首先在进入 info.plist 之前,在 xcode 中转到 Product -> Scheme -> 编辑方案。在这里转到运行并检查您的构建配置是什么 设置。上面的错误来自调试,所以如果你的构建配置 设置为发布这可能是问题所在。这可能意味着 Release 具有 info.plist 和 Debug 没有此捆绑信息,因为它没有 内置。

这里还有一个“调试可执行文件”复选框。这可能需要 被检查

如果这些都不起作用,尽管它可能,也许检查 xcode 中项目文件夹中的 info.plist。查看它是否具有捆绑标识符。

我会说方案部分可能是问题所在,希望对您有所帮助!

【讨论】:

我在我的问题中添加了项目方案和 info.plist 的屏幕截图。你能看看吗? @Nitish 您是这样的,还是您刚刚将其更改为这些设置? @Nitish 无论如何,您的捆绑包标识符看起来很奇怪。我不确定它应该是什么,但我的只是“$(PRODUCT_BUNDLE_IDENTIFIER)”。也许尝试改变它,除非你知道它应该是什么。 我尝试用 myapp 替换它。但是还是不行。 赏金时间即将到期。所以我奖励你赏金。但由于我无法解决这个问题,我会等待更多的解决方案。【参考方案3】:

从 vs-code 中删除 React Native Tools 扩展,然后重新安装。

发布后效果很好。

【讨论】:

以上是关于React Native - 调试适配器进程已意外终止的主要内容,如果未能解决你的问题,请参考以下文章

vscode调试适配器已意外终止

React Native - 意外的标识符

意外的导入令牌 - 使用 Jest 测试 React Native

WebStorm react-native 调试不起作用

使用 Atom 和 React Native 的 ESLint 意外解析错误

Jest 遇到了带有 react-native 的意外令牌