遇到程序提示找不到配置、动态库或证书时,先看它实际访问了哪些路径,通常比猜配置位置快。环境:Linux,strace 5.5+。
strace -f -e trace=file -o trace.log ./app
然后搜失败的打开操作:
grep -E 'ENOENT|EACCES' trace.log
-f 会跟踪子进程,-e trace=file 只保留文件相关系统调用,输出不会像完整 syscall 日志那么吵。程序参数或环境变量里有敏感值时,记得先检查日志再分享;排查结束后也可以去掉 -o 直接在终端看。