如何获取从 Rust 插件到 Electron 应用程序的堆栈回溯
How to get stack backtrace from Rust addon to Electron app
我正在使用 neon 为 Electron 应用程序创建 Rust 插件。它基本上可以工作,但每次出现崩溃时,我都会收到一条错误消息,如“尝试除以零”但没有位置,并且随着代码库的增长,找出问题所在变得越来越繁重。
我尝试更改构建脚本
electron-build-env neon build my_addon --release
至
electron-build-env neon build my_addon
并设置通常的环境变量
RUST_BACKTRACE=1 my_app
但没有回溯。我在任何地方都找不到这本书,但肯定有可能。谁能告诉我怎么做?
更新:我发现当你在调试模式下构建时,二进制文件进入不同的目录——target/debug 与 target/release——我没有做任何事情考虑到这一点(除非“neon”与“neon --release”做到这一点)。 Grepping 没有在任何地方出现文本“target/release”。
我在这里没有得到答案,所以我环顾四周,发现 Slack 上有一个 Neon 社区,并在那里提出了问题。 kjv(K. J. Valencik,我认为他是 neon-bindings 和 neon-serde 的作者)说 Neon 试图将恐慌变成 Javascript 异常,不向 stderr 发送任何内容。如果附加组件是在调试模式下编译的,我还不清楚这样的 Javascript 异常是否会包含 Rust 回溯;发布模式没有回溯。待续....
我正在使用 neon 为 Electron 应用程序创建 Rust 插件。它基本上可以工作,但每次出现崩溃时,我都会收到一条错误消息,如“尝试除以零”但没有位置,并且随着代码库的增长,找出问题所在变得越来越繁重。
我尝试更改构建脚本
electron-build-env neon build my_addon --release
至
electron-build-env neon build my_addon
并设置通常的环境变量
RUST_BACKTRACE=1 my_app
但没有回溯。我在任何地方都找不到这本书,但肯定有可能。谁能告诉我怎么做?
更新:我发现当你在调试模式下构建时,二进制文件进入不同的目录——target/debug 与 target/release——我没有做任何事情考虑到这一点(除非“neon”与“neon --release”做到这一点)。 Grepping 没有在任何地方出现文本“target/release”。
我在这里没有得到答案,所以我环顾四周,发现 Slack 上有一个 Neon 社区,并在那里提出了问题。 kjv(K. J. Valencik,我认为他是 neon-bindings 和 neon-serde 的作者)说 Neon 试图将恐慌变成 Javascript 异常,不向 stderr 发送任何内容。如果附加组件是在调试模式下编译的,我还不清楚这样的 Javascript 异常是否会包含 Rust 回溯;发布模式没有回溯。待续....