VS2012调试器只能从第三方引用中查看变量一次

时间:2014-03-19 21:00:13

标签: c# visual-studio-2012 visual-studio-debugging

我很抱歉这个模糊的标题,但我很难用1个明确的句子描述我的问题,希望有些答案可以帮助我解决问题和围绕它的知识。

原来如此!

我有这个小型表单应用程序,用于测试新的Dynamics 2013 Web服务。我将第三方引用Microsoft.Xrm.sdk.dll添加到我的引用中。 (我将这个特定的dll命名为,但是我和其他第三方dll发生了这种情况,我只想提供更多背景信息)

以下是我在此应用程序中执行的一行代码的非常小的示例:

RetrieveAllEntitiesResponse response = (RetrieveAllEntitiesResponse) m_OrgProxy.Execute(raeRequest);
Console.Write(response);

类型RetrieveAllEntitiesResponse的完整类型是{Microsoft.Xrm.Sdk.Messages.RetrieveAllEntitiesResponse}。

基本上,我第一次调试我的应用程序时,我能够看到这个变量,将鼠标悬停在它上面等等。

+       response    {Microsoft.Xrm.Sdk.Messages.RetrieveAllEntitiesResponse}    Microsoft.Xrm.Sdk.Messages.RetrieveAllEntitiesResponse

另一方面,假设我停止应用程序,重启并在同一个地方休息,我将无法观看此变量。

response             The name 'response' does not exist in the current context

如果我重新启动VS2012,那么我第一次调试它时,我将再次能够检查变量,但在此之后的所有时间,nope。

我检查了“模块”窗口,无论是否工作,都不会为Microsoft.Xrm.sdk.dll加载符号。 (我发现有点令人惊讶,我有点希望第一次看到符号。) 我在调试,非优化代码中运行,我清理了我的解决方案并禁用了我的加载项,这没有改变任何东西。有没有人知道发生了什么,我需要考虑什么来解决这个问题?

我搞乱调试选项,例如启用Just My Code,启用.Net Framework源步进和JIT for Managed,但这些选项都没有解决问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,我本想了解为什么会发生这种情况,但使用Visual Studio 2013解决了这个问题。