zoukankan      html  css  js  c++  java
  • handle leak ts steps in chinese


    1. 安装Windbg到C:\Debuggers目录
    2. 安装Application Verifier。对需要调试的程序激活“Handles - Detect invalid handle usage”
    3. 确保编译的时候生成了目标程序的symbol文件,并且统一部署到自定义的symbol目录。
    4. 启动目标程序
    5. 启动性能监视器开始监视目标程序,添加
    Process
    Processor
    Memory
    System
    6. 启动windbg,设定好symbol路径,开始监视目标程序
    7. 在windbg命令窗口输入:
    .logopen c:\log.txt
    记录windbg输出到文本文件
    8. 运行!handle和!htrace命令,等待命令执行完成
    9. 输入下列命令避免1st chance exception干扰问题的重现
    SXN *
    SXN av
    SXN clr
    SXN eh
    SXN cc
    10. 输入g命令,让目标程序开始运行
    11. 重现问题,问题发生后用windbg挂起程序
    12. 再次输入!handle和!htrace,保存handle信息
    13. 运行.dump命令抓取问题发生后的dump文件
    14. 输入.logclose关闭log文件
    15. 收集性能日志文件

    通过分析C:\log.txt文件中问题发生前后的差异,找到发生泄漏的handle是在什么callstack中分配的,以及handle的类型。在结合源代码定位。

  • 相关阅读:
    docker
    Flask
    JavaScirpt
    记录片- 走进肯德基 :十亿美元鸡肉店(2015)
    法正(3):扫黑
    法正(2):法雄
    法正(1):年表
    三国皇帝的寡妇秘史(2)
    三国皇帝的寡妇秘史(1)
    程序员的人性思考(下)
  • 原文地址:https://www.cnblogs.com/lixiong/p/551727.html
Copyright © 2011-2022 走看看