Edge扩展Native Messaging相对路径调试:宿主未找到问题排查
调试Edge Native Messaging相对路径问题的方法
强制输出详细日志到控制台
关掉所有Edge窗口,用命令行启动Edge,加上日志参数:msedge.exe --enable-logging=stderr --v=1 --native-messaging-log-level=3启动后触发Native Messaging请求,控制台会直接打印路径解析、宿主查找的全过程,包括它把相对路径转成的绝对路径,比生成空log.txt靠谱多了。
确认相对路径的解析基准
Edge解析宿主清单里的相对路径时,是以清单文件所在目录为基准,不是扩展的安装目录。比如你的native.json在D:\NativeHost\下,里面写"path": "app.exe",实际会找D:\NativeHost\app.exe。先手动转成绝对路径测试,确认程序确实存在。检查权限与注册表配置
就算路径对了,如果Edge读不到宿主清单文件也会报错。右键native.json看“安全”选项卡,确保当前用户(包括Edge沙箱进程)有读取权限。另外Windows下注册表中Native Messaging宿主的路径必须准确指向native.json,写错的话直接找不到清单,更别说解析路径了。用Process Monitor追踪文件访问
开Process Monitor,过滤msedge.exe的文件操作,设置过滤条件为路径包含你的宿主程序或清单文件名。触发请求后看Edge尝试访问的路径,有没有“文件未找到”的错误记录,直接定位问题点。
内容的提问来源于stack exchange,提问作者CiucaS
相关产品推荐
相关产品推荐

