【问题标题】:Packaged Electron app (.exe) crashes silently, runs fine via command line打包的 Electron 应用程序 (.exe) 静默崩溃,通过命令行运行良好
【发布时间】:2017-02-28 07:45:42
【问题描述】:

通过命令行运行我的 Electron 应用程序可以正常工作,但是当我双击打包应用程序的 .exe 时,除了我的光标在做一个快速的“忙碌”动画之外什么都没有发生。我假设我的应用程序正在静默崩溃。

有什么方法可以让我从 .exe 获取错误消息或崩溃报告以帮助我了解发生了什么?

从我的应用程序目录的根目录,这两种方法都会导致我的应用程序运行良好:

  • node_modules\.bin\electron.cmd .
  • electron-packager . node_modules\.bin\electron.cmd my_app-win32-x64\resources\app

环境

  • 操作系统:Windows 10 周年纪念版 x64
  • 节点:4.3.1
  • Npm:1.14.12
  • 局域电子:1.4.3
  • 本地和全球电子打包程序:8.1.0
  • 电子重建(用于本机模块“串行端口”):1.2.1

【问题讨论】:

  • 在调试器下运行应用程序,例如NTSD
  • 我尝试按照these steps在Visual Studio中调试.exe,但唯一的调试输出是一堆“找不到或打开PDB文件。”,然后是“程序” [17448] my_app.exe' 已退出,代码为 20 (0x14)。”我还检查了 Windows 事件查看器,我的 Electron 应用程序没有。
  • 设置您的调试器以在抛出异常时中断。这可能是 SEH (Win32) 异常。您还需要设置为使用 Microsoft 符号服务器。并使用 Debug -> Step Into... 启动应用程序([F11] 使用 C++ 键盘快捷键)。这将确保您也从启动过程中获得诊断信息。
  • 感谢您的建议。我启用了中断所有可能的异常,启用了从 Microsoft 符号服务器下载所有符号,并将运行日志级别设置为诊断。我仍然得到与第 1 条评论相同的行为(进程以代码 20 退出,未显示错误或异常)。
  • 听起来很蠢,但你在其他平台上检查过?

标签: windows electron


【解决方案1】:

这不是电子问题。这是我的应用程序尝试访问相对于process.cwd() 的路径,当双击输出文件夹中的 .exe 文件时,该路径不是预期的。

我可以通过从命令行运行 .exe 来调试它,而不是双击 .exe: my_app-win32-x64\my_app.exe

这会导致console.log() 输出在命令提示符中可见,这让我终于可以看到正在发生的异常。

【讨论】:

    猜你喜欢
    • 2017-02-19
    • 2021-03-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    相关资源
    最近更新 更多