Windows程序崩溃解决方案

Windows程序意外崩溃解决方案

  1. 远程调试Remote Debugger
  2. 生成Dump文件

1.远程调试Remote Debugger

适用一些特殊机台运行程序崩溃不能在本机进行Debug调试下。
优点 清晰,便于开发人员直接找出问题点
缺点 限制条件较多
环境需求:

  • 调试机台。
  • Debug版的运行程式(拷贝到调试机台,包括.pdb等重要调试文件)
  • Remote Debugger(拷贝X86或X64版本到调试机台,视调试机台而定)
    (举例我的路径在 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger\x64)
  • 本机机台用VS打开源代码(必须与调试机台的运行程式一致)
  • 同一局域网下(主要限制)

准备好以上环境后开始远程调试

  • 以管理员权限打开 msvsmon.exe程式,并在Tools中设置Options,设置无认证并允许任何用户调试。

Windows程序崩溃解决方案_第1张图片

  • 在调试机台运行Debug程式,如果需要调试开头建议创个模态对话框阻塞一下程式的进行等到我们远程绑定上来后再正常运行

  • 然后在本地机台上用VS打开源代码,点击Debug下的Attach to process,设置Transport为Remot
    并在Qualifier下输入调试机台的IP地址
    Windows程序崩溃解决方案_第2张图片
    Windows程序崩溃解决方案_第3张图片

  • 此时就出现调试机台的进程,点击我们需要调试的进程,这样就能开始调试了。

  • 源代码上的Debug断点会从空心变为实心(如正确绑定的话),但会由于网络限制,调试起来相对慢一些

生成Dump文件

适用于只有Release程式,不需要过多的限制条件

2.1通过任务管理器生成

  • 打开任务管理器->详情->程式->右键生成Dump文件

Windows程序崩溃解决方案_第4张图片

  • 路径存在以下位置,可以用VS直接打开

2.2 通过编程自动生成

具体使用方法可以参考
原文链接:https://blog.csdn.net/lk142500/article/details/80563552

你可能感兴趣的:(Windows,C++)