
源码 → 编译 (dllpdb) → vServer 托管 dll 文件 → ShellManager 执行代码 → Rider 挂载进程 pdb → 实现断点调试一、前置准备VM 软件端操作打开 VM 流程里的C# 用户脚本模块→ 右上角【导出工程】保存.sln解决方案文件二、用rider 打开解决方案项目报错.NET Framework .NETFramework,Versionv4.6.1 is required to load project UserScript_0 but not installed只需要调整版本即可选中项目 右键 点击配置 版本调整4.8即可三、 Build Solution生成解决方案打断点四、 附加进程这里需要注意的是 一定要把 vServerApp 进程关掉VisionMasterServerApp.exe是 VM 的全局后台总服务进程负责统一管理算法服务、模块调度、脚本 dll 加载、进程通信、授权校验、流程资源托管。vServerApp 常驻后台运行只要 VM 软件开着它就会占用你编译输出的 UserScript_0.dll你在 Rider 执行Rebuild重新生成→ Windows 提示文件被占用dll 无法覆盖更新现象代码改了、重新生成无报错但 VM 一直跑旧代码、断点空心不命中、调试完全无效原理Windows 机制进程持有 dll 句柄时外部无法写入覆盖文件残留调试附着 / 多进程调试冲突vServerApp 内部会托管所有脚本宿主进程ShellModuleManager如果上次调试没正常断开 Rider 附加vServerApp 会残留调试标记Windows 规则一个托管进程同一时间只能被 1 个调试器附加你 Rider 附加 ShellModuleManager 时vServerApp 自带内部监控附着 → Rider 附加失败、断点直接失效弹窗提示「已存在调试器」五 、脚本调试进程添加后 切换到VM 软件点击运行如果 vServerApp 没有结束 要结束进程 重新构建项目调试结果