我们正在开发一个发布解决方案,但是在使用2010专业版的Studio尝试连接时,没有任何线程显示任何堆栈信息,也无法设置任何断点等。
目标是能够将Visual Studio / JIT调试器附加到正在运行的进程上,同时尽可能多地获得优化效益。
我们大部分搜索的结果是“使用debug:full编译”,然后就可以进行调试了,但事实并非如此,我想JIT会在运行时优化代码,因此我们无法调试,这是真的吗? 是否有可能编译并告诉JIT减少优化并允许调试? (同时保留其他优化)
更新 使用@HansPassant的答案,我查看了模块,并发现虽然pdbs与二进制文件在同一目录中,但确实没有加载任何调试符号。 我还看到我的库标记为“用户代码” - “否”,这可能是它未自动加载的原因。 通过手动加载符号并禁用“仅限我的代码”,我还能够设置断点并查看堆栈。
现在的问题是:为什么我的代码没有标记为用户代码?这是正常行为吗?我能否以某种方式配置我的程序集以避免这种情况?
目标是能够将Visual Studio / JIT调试器附加到正在运行的进程上,同时尽可能多地获得优化效益。
我们大部分搜索的结果是“使用debug:full编译”,然后就可以进行调试了,但事实并非如此,我想JIT会在运行时优化代码,因此我们无法调试,这是真的吗? 是否有可能编译并告诉JIT减少优化并允许调试? (同时保留其他优化)
更新 使用@HansPassant的答案,我查看了模块,并发现虽然pdbs与二进制文件在同一目录中,但确实没有加载任何调试符号。 我还看到我的库标记为“用户代码” - “否”,这可能是它未自动加载的原因。 通过手动加载符号并禁用“仅限我的代码”,我还能够设置断点并查看堆栈。
现在的问题是:为什么我的代码没有标记为用户代码?这是正常行为吗?我能否以某种方式配置我的程序集以避免这种情况?