昨天更新LITE1.7版本后,今天使用SU就闪退2次。用wb查了下闪退原因,插件自带的 msvcp140.dll 比系统版小 86 KB,不是同一代。**
而 SketchUp 2024 的安装目录里没有自带任何 CRT,只有 x64-ucrt-ruby320.dll,也就是说 SU 走的是系统 CRT。
机理:D5 插件把自己那一套旧版 VC++ 运行库塞进了 SU 的进程空间。同一个进程里存在两套 C++ 运行库,内存会跨版本分配/释放,两套堆管理器对内存布局的假设不一致,最终触发缓冲区校验失败——报出来就是 ucrtbase.dll + 0xc0000409。
旁证:在同一台机器上,另一个程序 Marvis.exe 在完全相同的偏移 0x7286e 崩溃过 3 次,模块也是 ucrtbase.dll。同一类 CRT 混用模式。
