欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4992|回復: 1
打印 上一主題 下一主題
收起左側

EnterCriticalSection的怪問題 產(chǎn)生全局Event句柄泄露

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:127229 發(fā)表于 2016-6-19 01:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在window平臺下,產(chǎn)生并進入臨界區(qū)EnterCriticalSection之后不釋放,用handlespy檢測,會產(chǎn)生一定數(shù)量的全局Event句柄泄露,甚是奇怪,開始以為EnterCriticalSection被重載了,幾經(jīng)折騰,基本定位在EnterCriticalSection自身,列堆棧以觀之,發(fā)現(xiàn)EnterCriticalSection內(nèi)部調(diào)用了NTCreateEvent函數(shù), google一把,大概是說在多核處理器上,有時候會需要通過創(chuàng)建全局Event來干點啥CPU同步的事情,所以,在我的四核開發(fā)機器上,大概每20次就調(diào)用就會產(chǎn)生一次Event泄露。 知道原因好辦了,為CriticalSection增加引用計數(shù)器,沒人用刪掉,發(fā)了幾十萬筆,泄露為0,解決之。

工具:查泄露工具: HandleSpy.exe 開源工具,通過比較兩次快照就能得到泄露的代碼行,犀利。查句柄工具: SysinternalsSuite 包內(nèi)的 handle.exe

順便鄙視一下windows8,任務管理器把handle計數(shù)器全搞沒了,對于我們這些搞開發(fā)的,真的非常不方便。

C:\Code\TechLab\MyTest\MyTest\Release>handle.exe -s -p kdfixgw.exe
Handle v3.51
Copyright (C) 1997-2013 Mark Russinovich
Sysinternals

Handle type summary:
  ALPC Port       : 4
  Desktop         : 1
  Directory       : 4
  EtwRegistration : 71
  Event           : 99
  File            : 99
  IoCompletion    : 2
  Key             : 21
  Mutant          : 48
  Section         : 92
  Semaphore       : 104
  Thread          : 59
  Timer           : 3
  TpWorkerFactory : 1
  WaitCompletionPacket: 2
  WindowStation   : 2
Total handles: 612



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關帖子

回復

使用道具 舉報

沙發(fā)
ID:486130 發(fā)表于 2019-3-7 11:33 | 只看該作者
你好,關于 EnterCriticalSection的怪問題 產(chǎn)生全局Event句柄泄露 的解決辦法,方便提供代碼我參考參考嗎? 萬分感謝 125345110@qq.com
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表