【问题标题】:Visual Studio 2010 freezes when debugging x64 application调试 x64 应用程序时 Visual Studio 2010 冻结
【发布时间】:2011-08-18 01:20:06
【问题描述】:

最近,我和我的同事用 VS2010 Pro 将我们的开发环境升级到了 Win7 x64。我们的应用程序专门针对 x64 平台。

我们遇到的问题是在调试过程中,当尝试单步执行代码 (F10) 时,至少 50% 的时间 VS 会简单地锁定正在调试的应用程序。 IDE 有按 F5 的外观,但应用程序没有响应,我们必须强制停止应用程序。

我们的应用程序是通过 .NET 远程处理进行通信的客户端 (GUI) 和服务器。

这开始直接影响我们的工作效率,所以如果有人知道是什么原因造成的,请告诉我。

【问题讨论】:

    标签: visual-studio-2010 debugging windows-7 64-bit


    【解决方案1】:

    有可能是调试符号加载的外部机会。检查状态栏,我认为它会告诉您符号何时加载。

    【讨论】:

    • 我很确定调试符号都是在启动时加载的……很确定,不是肯定的。奇怪的是,它有时会毫无问题地遍历十几行代码,有时会发生在第一行。
    • 尝试关闭符号的加载,看看是否有帮助?我假设只有在调试模式下运行它时才会发生这种情况?
    • 正确...仅步进。我明天试试。
    • 不是符号。不过我确实找到了,有人添加了一个后台计时器来从服务器“ping”客户端。每当此计时器在服务器处于调试模式(单步执行)时经过并查询客户端时,它会导致某些事情中断并给出我遇到的问题。重构该计时器(重构 = 消除!)解决了问题。
    • 很高兴听到这个消息。很好发现,一定很难捡起!
    【解决方案2】:

    这可能是一个有争议的问题,但您是否安装了 VS 2010 服务包 1?

    包含与调试器相关的各种错误修正。

    http://support.microsoft.com/kb/983509

    【讨论】:

    • 由于安装 SQL Administration Studio 时的 intelisense 错误,我们没有安装 VS2010 SP1。请参阅我的以下评论,了解我们的问题。
    【解决方案3】:

    我遇到了类似的问题。事实证明,一个更高级别的程序有一个不同的运行时库(多线程调试 dll),而我的应用程序只是一个多线程调试。一旦我将我的转换为多线程调试 dll,冻结就停止了。

    【讨论】:

      猜你喜欢
      • 2014-06-12
      • 2013-06-13
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多