最近沉迷拂拂,来糊弄一下

Linux Bash 导致的 terminate called after throwing an instance of 'std::invalid_argument'

image-20220721232317584

心血来潮,在 Linux 里运行下 lessampler,结果报错了。

看上去是一个 stoi 转换的问题,唯一的调用在 libUTAU 里作为命令行解析器。把 !120 转换为 120 作为 tempo。

image-20220721232453060

那就启动调试器看看,这里给的数据是啥,结果离谱的事情来了,IDE 里启动没有任何问题。

image-20220721232658909

看来问题还是出在 bash 里,由于 bash 的特殊功能,无法以 ! 作为参数所以使用了一个转义符号,直接运行会显示 event not found

image-20220721232820098

估计是转义的锅,开 strace 看看

image-20220721232941845

然后就发现居然加了2层转义。。。那行吧。