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的类型。在结合源代码定位。

  • 相关阅读:
    2021冬季学期有感与评价
    Scala变量和数据类型
    Scala运算符
    pytorch基本使用
    Vue组件
    Scala函数式编程
    Python中的运算符
    Scala流程控制
    Scala环境搭建
    用于测试GRPC服务的UI工具BloomRpc
  • 原文地址:https://www.cnblogs.com/lixiong/p/551727.html
Copyright © 2011-2022 走看看