none
QueryPerformanceCounter在Win10上出现崩溃 RRS feed

  • 问题

  • Hi,

    我们小组有一个VS2008开发的客户端程序,该客户端在线上运行了6-7年了,最近突然出现很多QueryPerformanceCounter的崩溃,搜集了一些资料,都是在Win10的机器上出现的(样本空间可能不够,目前采集了十几个,都是在Win10系统上),暂时不知道该如何去排查,请教了。

    崩溃堆栈如下:

    ntdll.dll!RtlWow64GetProcessMachines() + 0x88 bytes

    ntdll.dll!ReadTimeStampCounterFromEmulator() + 0x20 bytes

    ntdll.dll!_RtlQueryPerformanceCounter@4() + 0x79 bytes

    2019年10月11日 9:09

全部回复

  • 你好,

    感谢你在这里发帖。

    >>最近突然出现很多QueryPerformanceCounter的崩溃

    这个函数出现的崩溃?QueryPerformanceCounter这个函数一般用于时间间隔测量,我看过他的参数类型,都是数值类型,不涉及到指针,所以也不会发生内存崩溃,因此函数参数没问题。那出现崩溃的可能原因就是函数本身了,如果是这样,那你可以去开发者社区上提交你的问题,让MS团队为你修复问题。但我觉得这个函数本身存在问题的可能性很低,因为我并没有在论坛上看到与你问题相类似的案例,并且我本地Win10测试时也没有发生崩溃情况。

    对于你的情况,很有可能其他部分代码在Win10上出现问题。你需要调式一下的你的程序,看你的程序在哪段代码处崩溃,再设置断点查看数据,如果确定是QueryPerformanceCounter函数出现问题,那可以向开发者反馈此问题。

    Best Regards,

    Suarez Zhou


    2019年10月14日 3:21
  • 你好,感谢您的回复。

    目前我们自己测试下来,发现该崩溃是在Win10 Build 18362版本的KB4516115 x64补丁升级后出现的,直到KB45117389 X64补丁版本,该崩溃依然存在。

    2019年10月19日 2:25