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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4992|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

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

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

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

順便鄙視一下windows8,任務(wù)管理器把handle計(jì)數(shù)器全搞沒(méi)了,對(duì)于我們這些搞開(kāi)發(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空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表