青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Window上我們常見的資源泄露包括內存和對象句柄泄露, 下面討論下對各類泄露的檢測方法。
關于內存泄漏,我以前寫過2篇文章: C++中基于Crt的內存泄漏檢測, 基于WinDbg的內存泄漏分析
用上面提到的方法檢測泄露很多時候太麻煩,所以有時候我們會考慮用工具 VLD:

Visual Leak Detector源于Code ProjectVisual Leak Detector - Enhanced Memory Leak Detection for Visual C++安裝包可以到 這里 下載。

使用很簡單,基本上安裝完了就之可以直接用, 具體可以參考 這篇


關于對象句柄泄露, 主要分GDI對象,Kernel對象,User對象:

GDI對象只在本進程有效,主要是指Brush, Pen,DC等, 具體可以參考 這里

User對象只在同一Session內有效,同一user對象在不同進程內值都相等,可以跨進程使用, 主要是指Menu, window, cursor, hook等,具體可以參考 這里

Kernel對象可以跨進程使用,全局Kernel甚至可以跨Session, 但是因為每個進程都有自己的內核對象表,所以同一對象的句柄值(索引)在不同進程里會不相等(盡管最終指向同一個內核對象),主要是指各類HANDLE,具體可以參考 這里


對于對象句柄泄露,免費來說沒有太好的工具可以直接使用, 很多時候我們可以直接通過任務管理器來觀察各類對象的個數, 如果有持續增長, 則說明有泄露存在。很多時候GDI泄露是大頭,我們要判斷哪類GDI對象正在泄露,可以考慮使用工具GDIView。(對于對象句柄泄露,誰有好的工具,可以提示下。)


對于內核對象泄露,我們可以考慮使用WinDbg的 !htrace 命令, 使用很簡單:通過 !htrace -enable 命令打開棧回溯, 然后通過 !htrace -snapshot 命令保存一個當前所有句柄的快照, 最后再通過 -htrace -diff 命令獲取所有前面保存快照后打開但沒有關閉的句柄對象。


如果公司有錢,可以考慮購買Boudcheck, 這個工具非常強大,可以幫我們快速的檢測出各類內存和對象泄露,包括API的參數錯誤等。

思考如何開發一個資源泄露檢測軟件,實際上并不復雜,主要就是API Hook, 大概過程如下:

(1) 將代碼注入對方進程

(2) 通過API Hook替代系統資源分配和釋放相關的API, 并且記錄調用棧

(3)最后檢測沒有釋放的資源, 生成報表


這里有篇文章告訴你如何開發類似的工具:LeakMon - Track Handle leak, GDI Leak and Memory Leak in your Applications,
騰訊的這篇文章也可以參考下 
句柄泄漏檢測工具的實現原理

當然盡管原理很簡單,但是因為Windows的API種類繁多,并且在新版本中會常有增加, 要開發一個完整的工具也不是一件容易的事情。

posted on 2014-08-27 22:37 Richard Wei 閱讀(3815) 評論(0)  編輯 收藏 引用 所屬分類: windows desktop
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品一区二区| 免费观看日韩av| 国产欧美欧美| 国产日本亚洲高清| 韩国一区二区三区美女美女秀| 国产一区二区三区丝袜 | 噜噜噜噜噜久久久久久91| 久久久久久久一区| 欧美成人免费全部观看天天性色| 亚洲国产高清高潮精品美女| 欧美国产国产综合| 一区二区三区高清在线 | 亚洲国产精品一区| 日韩视频在线一区二区三区| 中文一区在线| 久久看片网站| 国产精品国产自产拍高清av王其 | 免费成人性网站| 欧美日韩精品一区二区在线播放| 国产精品日韩专区| 亚洲国产小视频| 午夜精品视频网站| 欧美大片免费久久精品三p| 亚洲精一区二区三区| 欧美亚洲网站| 欧美日韩国产成人在线91| 国产亚洲一区二区精品| 亚洲美女黄色| 久久青草欧美一区二区三区| 亚洲精品综合| 免费欧美日韩| 精品不卡在线| 香蕉久久夜色| 亚洲精品视频一区二区三区| 久久精品视频在线看| 国产精品高潮呻吟| 亚洲精品免费一二三区| 久热国产精品| 欧美一区二区三区免费看| 欧美三级电影精品| 亚洲精品久久久久久久久| 久久久久成人精品免费播放动漫| 一本一道久久综合狠狠老精东影业| 久久免费精品日本久久中文字幕| 国产精品揄拍500视频| 中日韩男男gay无套| 亚洲国产成人久久综合| 麻豆精品视频在线观看视频| 欧美一级播放| 国产精品成人久久久久| 一二三区精品| 亚洲精品国产精品国产自| 老司机免费视频一区二区| 国内外成人在线视频| 久久精品五月婷婷| 欧美一区二区视频观看视频| 国产日韩在线视频| 久久精品国产精品亚洲综合| 欧美一级片一区| 国产日韩欧美综合| 久久精品99国产精品日本| 午夜精品999| 国产在线观看精品一区二区三区| 久久久精品一区| 裸体丰满少妇做受久久99精品| 亚洲国产精品悠悠久久琪琪| 欧美成人综合| 欧美精品九九| 亚洲欧美日韩综合国产aⅴ| 亚洲在线观看| 激情久久久久| 亚洲黑丝在线| 国产精品成人在线| 欧美成年人视频网站| 亚洲高清不卡在线| 91久久亚洲| 国产精品女主播| 久久精品亚洲精品| 久久综合电影| 亚洲午夜精品一区二区| 亚洲欧美在线播放| 亚洲福利视频一区二区| 亚洲精品裸体| 国产亚洲精品aa午夜观看| 欧美 日韩 国产在线| 欧美日韩国产高清视频| 欧美在线综合| 欧美激情精品久久久久久免费印度| 亚洲无亚洲人成网站77777| 香蕉国产精品偷在线观看不卡| 亚洲国产成人精品久久久国产成人一区 | 欧美精品久久一区| 亚洲欧美在线一区二区| 久久精品视频播放| 一区二区三区高清在线观看| 午夜影院日韩| 99re热这里只有精品免费视频| 亚洲视频在线免费观看| 精品av久久久久电影| 一区二区三区欧美视频| 在线看日韩av| 午夜精品电影| 亚洲一区二区三区中文字幕在线 | 亚洲欧美日韩成人高清在线一区| 卡一卡二国产精品| 欧美精品啪啪| 久久综合电影| 国产精品亚洲综合| 91久久精品一区| 一区精品久久| 亚洲女同同性videoxma| 一区二区三区成人精品| 久久五月婷婷丁香社区| 欧美一区二区三区四区在线 | 一区二区三区在线免费视频| 日韩视频在线观看免费| 亚洲电影在线| 久久aⅴ国产紧身牛仔裤| 亚洲免费在线播放| 欧美伦理影院| 亚洲国产精品国自产拍av秋霞| 国产专区一区| 欧美一区二区三区在线播放| 亚洲欧美国产不卡| 欧美日本簧片| 日韩视频一区二区| 亚洲精品乱码久久久久久蜜桃91| 久久99在线观看| 久久国产精品久久久久久久久久| 国产精品美女主播| 亚洲图片在区色| 亚洲综合视频网| 欧美色网一区二区| 在线一区观看| 欧美亚洲免费在线| 国产欧美日韩| 久久精品亚洲热| 欧美成人午夜影院| 在线观看国产一区二区| 久久九九免费视频| 免费短视频成人日韩| 亚洲国产精品尤物yw在线观看 | 久久gogo国模裸体人体| 久久精品国产亚洲一区二区| 国产一区在线看| 久久九九99| 欧美激情二区三区| 洋洋av久久久久久久一区| 欧美视频手机在线| 亚洲午夜在线观看| 久久久亚洲综合| 亚洲激情网址| 欧美性片在线观看| 欧美一区二区性| 欧美国产综合视频| 亚洲视频专区在线| 国产一区91| 欧美jjzz| 亚洲一区二区三区在线观看视频| 久久国产精品99精品国产| 在线观看亚洲视频啊啊啊啊| 欧美精品在欧美一区二区少妇| 亚洲婷婷免费| 美女国产精品| 亚洲香蕉在线观看| 极品尤物一区二区三区| 欧美绝品在线观看成人午夜影视| 亚洲自拍偷拍福利| 欧美激情一区二区三区成人 | 老司机亚洲精品| 亚洲欧洲视频在线| 欧美午夜无遮挡| 久久久久国产精品厨房| 亚洲精品乱码| 久久久人人人| 亚洲欧美日本另类| 亚洲国产欧美精品| 国产精品美女久久久久aⅴ国产馆| 久久久久久精| 亚洲夜晚福利在线观看| 亚洲国产一区二区三区高清 | 国产日本精品| 欧美女激情福利| 久久久久久夜精品精品免费| 99国产精品视频免费观看一公开| 久久亚洲精品欧美| 亚洲免费视频观看| 亚洲精品一区二区三区蜜桃久| 国产美女扒开尿口久久久| 欧美激情91| 久久影视三级福利片| 欧美亚洲日本国产| 在线亚洲激情| 99国产精品国产精品久久| 欧美国产日本韩| 欧美成年人视频网站| 久久久国产成人精品| 亚洲欧美文学| 亚洲欧美综合国产精品一区| 一区二区三区日韩|