zoukankan      html  css  js  c++  java
  • 使用.dmp+vs分析异常

    环境准备

      公共符号缓存目录

        在系统临时目录之外的地方创建一个目录
        如d:\VsSymbolsCache\

      应用程序文件目录

        运行相关文件
          .exe
          .dll
          资源文件等
          .pdb

        如d:\MyApplication\



    过程

      配置“VS>工具>选项>调试”中各选项

        常规

    •       不勾选【启用“仅我的代码”】
    •         Release版的应用程序在编译时经过了vs优化,勾选此选项后无法显示我们的代码,而Debug版没有这个问题
    •       不勾选【要求源文件与原始版本完全匹配】
    •       勾选【为断点和当前语句突出显示整个源行】

        符号

    •       勾选“Microsoft符号服务器”,并在下面的“在此目录下缓存符号”的文字框中填写设置的公共符号目录(d:\VsSymbolsCache\)
    •       单击新建符号目录按钮,填写应用程序的.pdb文件所在的目录(d:\MyApplication\)

      使用VS打开.dmp文件,单击“使用混合进行调试”后等半天

        可以打开“输出”窗口与“模块”窗口看相关的信息

      通过各窗口查看StackTrace(主要是找到引发崩溃的异常所在线程)

        “并行堆栈”窗口
          图形方式显示所有线程的StackTrace
          在此窗口中右键“显示外部代码”后就能在各个能显示StackTrace的窗口中直接显示托管代码(若有源文件)
        “线程”窗口
          列表所有线程
          一般线程名显示为“RtlRaiseException”的线程是抛出托管异常的线程
          先观察“优先级别”高的线程
        “调用堆栈”窗口
          看当前线程的StackTrace

    勉強心を持てば、生活は虚しくない!
  • 相关阅读:
    上海 政府性 常用网站
    linux 如何显示一个文件的某几行(中间几行)
    oracle 替换其中部分内容
    notepad++ 开始和结尾
    ll -d
    Mongodb总结3-稍微封装一下
    Mongodb总结3-稍微封装一下
    Mongodb总结2-Java版本的HelloWorld-CRUD例子
    Mongodb总结2-Java版本的HelloWorld-CRUD例子
    Mongodb总结1-启动和Shell脚本
  • 原文地址:https://www.cnblogs.com/beta2013/p/3377260.html
Copyright © 2011-2022 走看看