记录 rust 上传文章工具崩溃问题

最近,更新了上传文章工具 rust 版本,这个版本使用的库为 nwg,即 native-windows-gui 库,该库支持老的 Windows GUI。

昨天,当我准备在另一台电脑上录制视频时,发现运行不起来,GUI 界面闪现一下,就退出了。我先升级了 Rust 版本到最新版本。

rustup update

升级完成后,cargo clean ,再 cargo run 重新运行。

郁闷,还是报错。

将 main.rs 文件中该行注释,#![windows_subsystem = "windows"],可以在命令行中查看报错信息,提示是找不到文件。我想了下,只有图片是文件,然后我将图片的路径修改,发现修改之后,编辑器提示错误,找不到文件。重新改回去后,编辑器提示错误消失。说明不是这里的错误。

我真的晕了。从网上查找问题原因,没有找到此类问题的解决方法,郁闷。在查找时,发现了另一个 Windows 官方支持的 rust 库,就叫 windows,打算有时间了用这个库重写一下。

今天,我又查看了下另一台电脑上的这个项目,发现可以正常运行,将 rust 升级到最新版本后,还是可以运行。在看到配置文件后,我才恍然大悟,原来是查找这个文件。我赶紧扒拉代码确认,发现确实是这个问题。

let conf = Ini::load_from_file("conf.ini").unwrap();

上面是使用文件的地方,找不到文件 panic。我这里优化一下,让错误提醒的更明显一些。这样我就瞬间能知道问题原因了。

优化后的代码如下:

let conf = Ini::load_from_file("conf.ini").expect("please config conf.ini file");