代码之家  ›  专栏  ›  技术社区  ›  lilburne

xp 64位上的硬件断点

  •  3
  • lilburne  · 技术社区  · 15 年前

    有没有人有硬件断点在64位xp上工作,如果有,怎么做?

    我们有一个使用硬件断点的应用程序,它已经在32位xp和32位vista操作系统上运行了一段时间。然而,将我们的代码移植到64位之后,当应用程序在64位xp上运行而不是在64位vista上运行时会发生崩溃。这个应用程序是在xp上编译和构建的。

    在设置断点(dr7=1)之后,我们已经将这个向下隔离到线程恢复。如果我们打开一个文件对话框,并且窗体上的gui控件相当不稳定,就会发生崩溃。奇怪的是,如果在设置了断点并观察了不稳定的gui之后,我们就禁用了断点(dr7=0),gui就会再次正常运行,并且启动文件对话框不会导致崩溃。

    我们用其他示例断点设置代码替换了断点设置代码,每个示例都有相同的问题。

    3 回复  |  直到 12 年前
        1
  •  1
  •   Nick    14 年前

    有没有人有硬件断点在64位xp上工作,如果有,怎么做?

    我想那是拒绝!

    您可以在visual studio中创建一个简单的mfc应用程序,并在调试器中设置一个硬件断点,例如数据断点,应用程序将演示与您所描述的相同的行为。

    与vista/7代码库相比,xp x64有时看起来确实有些混乱。因此,微软不支持xp x64也就不足为奇了。 完全 一些新产品,包括office 2010。

        2
  •  1
  •   crawler    14 年前
        3
  •  1
  •   Charley    12 年前

    Visual Studio具有数据断点。可以将调试器设置为在写入特定内存地址时停止。

    http://msdn.microsoft.com/en-us/library/350dyxd0.aspx