我们正在为 Release 构建解决方案,但是当尝试使用 studio 2010 Professional 附加时,没有线程显示任何堆栈信息,也无法设置任何断点等。
目标是能够将 Visual Studio/JIT 调试器附加到正在运行的进程,同时获得尽可能多的优化优势。
我们的大多数搜索都归结为“使用调试:完整编译”,您将能够调试,但似乎并非如此,我认为 JIT 在运行时优化代码,因此我们无法调试,是这是真的?是否可以编译并告诉 JIT 淡化优化并允许调试?(同时保留其他优化)
更新
使用@HansPassant 的答案,我查看了模块,发现虽然 pdb 与二进制文件位于同一目录中,但确实没有加载调试符号。我还看到的是我的库被标记为“用户代码”-“否”,这可能是它没有自动加载的原因。通过手动加载符号并禁用“just-my-code”,我还能够设置断点并查看堆栈。
现在问题:为什么我的代码没有标记为用户代码?这是正常行为吗?我可以以某种方式将其配置到我的程序集中以避免这种情况吗?