女士们先生们下午好
我已经在 Stack Overflow 和许多其他网站上寻找解决这个问题的方法,但没有成功。它是在最后一次 VS2019 更新之后开始的,但我(还)不能明确地说更新是问题的原因,因为我在更新后做了一些代码更改。这是用于混合模式 (C++/dotNet) 商业产品的 C++ 附加模块 (dll),因此我无权访问原始 .exe 代码或 .pdb 文件,并且我必须声明该产品具有在十年的使用过程中,它本身从未遇到过任何麻烦。重要的是,在更新之前一切都正常。
环境:
当前调试设置:
配置属性
调试 |本地 Windows 调试器
C/C++ |一般|程序数据库
C/C++ |代码生成|多线程调试 Dll
链接器 |调试|生成调试信息
工具|选项|调试|禁用“启用编辑并继续”
无需构建前或构建后步骤。
我尝试过的:
每次重新编译后,我都会手动删除 .dll、.pdb、.lib 和 .exp 文件,然后再复制新文件,以确保没有文件过时。
附加信息:
有趣的是(或者不是这样!)我发现我在尝试调试问题时测试过的每个项目都遇到了相同的错误。这包括创建新项目和简单地运行旧的存档项目,其中代码已经几个月没有被触及过。
目前无法更新到 VS2022,但一旦当前模块在 VS2019 中完全调试完毕,就必须更新到 VS2022。使用的C++版本是ISO 17;我无法升级 ISO 版本,因为 ISO 20 不再支持旧版 C 代码,而且我无法降级它,因为使用了 ISO 17 附带的一些 C++ 更新。
感谢您的阅读。
我不知道为什么下面的方法有效,但它确实有效。
调试 |窗口|模块突然充满了额外的 dll - 包括我的 - 并且立即命中断点。