事后调试之MiniDump转储】的更多相关文章

程序发布后,针对在用户使用过程中出现的一些问题进行调试,这个过程可以称为是事后调试.在程序Crash时转储MiniDump文件供软件开发工程师分析是一种比较常用的方法.下面介绍两种常用的在程序Crash时转储MiniDump文件的方法. 1. MiniDumpWriteDump MiniDumpWriteDump是windows DbgHelp.dll提供的一个转储进程MiniDump的API,可以将其导入到C#程序中. using System; using System.Diagnostic…
我一直在想,应用程序抛出未处理的异常和附加到进程的调试器之间会发生什么.显然这些信息就在我眼皮底下,但我是瞎子.Windows调试器关于事后调试的文档包含了您想要知道的所有详细信息. 最常见的应用程序错误称为异常.这些错误包括访问冲突.除以零错误.数字溢出和许多其他类型的错误.应用程序也可能导致断点中断.当Windows无法运行应用程序(例如,无法加载必需的模块)或遇到断点时,会发生这些情况.断点可以由调试器插入到代码中,也可以通过DbgBreakPoint等函数调用.在汇编语言中,断点中断是由…
1.windows中的调试_VC语言_编程开发B1_最全面的网站教程.html(http://study.qqcf.com/web/522/98401.htm) windows中的调试 1.事后调试有两个最基本的目标: (1) 发现程序是在哪里崩溃的 (2) 找出导致程序崩溃的原因 2.按优先选择顺序排列的调试技术: (1) 使用调试版本进行本地调试 (2) 使用带有调试符号的发布版进行本地调试 (3) 使用调试版本进行远程调试 (4) 使用带有调试符号的发布版本进行远程调试 (5) 使用 Dr…
centos7下安装lldb,dotnet netcore 进程生成转储文件,并使用lldb进行分析 随着netcore应用在linux上部署的应用越来越多,碰到cpu 100%,内存暴涨的情况也一直偶有发生,在windows平台下进程管理器右键转储,下载到本地使用windbg或者直接vs分析都比较方便.而在linux平台下因为一直接触的不深,所以对这一块也一直没有比较好的了解.所以接下来的文章将对在centos7下安装lldb,生成转储以及调试分析进行一些简单说明. 还有就是一般产线的机器也不…
前言 在产品的实际应用环境中,如果我们的程序在客户那里出现了问题,例如程序异常了,而这个时候的现象又不能还原或者很难还原重现,那么只有使用dump文件来保存程序的当前运行信息,例如调用堆栈等,同时使用符号文件来定位问题了;这里主要讲解使用dbghelp库来生成输出dump文件,同时使用符号文件和windbg来分析问题.样例代码 1 #include "stdafx.h" 2 #include <Windows.h> 3 #include <iostream> 4…
1.查了一下,Delphi 程序 可以生成 map文件,可以用来 根据崩溃的内存报错 定位出错的代码位置 2.但是,Delphi程序 无法再崩溃的时候 生成dump文件 (这个不一定,研究了再说.记得 那本 Win32 汇编的书上有相关的SEH讲解) 3. 4.资料: 4.1.debugging - How to analyze a dump file from a Delphi DLL file_ - Stack Overflow.html(https://stackoverflow.com/…
WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件. WinDbg是微软很重要的诊断调试工具: 可以查看源代码.设置断点.查看变量, 查看调用堆栈及内存情况.  调试应用程序(用户模式 user mode)  调试操作系统及驱劢程序(内核模式 kernel mode)  调试非托管程序(native program)  调试托管程序(managed program)  实时调试 (JIT:…
本文关键字:Minidumps, Windows, SEH, VisualC, .NET 摘要 本文讲述了 minidumps 是怎样工作的.当你的程序崩溃的时候应该如何生成它们.以及如何在 Visual Studio .NET 中将它们重新读入. 原文作者:Andy Pennell中文翻译:Victor原文链接:http://www.codeproject.com/debug/postmortemdebug_standalone1.asp 如果你的程序在客户的机器上崩溃了,那么你现在可以使用…
一.SOS扩展命令 SOS包含几十个命令,要熟练使用SOS,首先要了解SOS有哪些命令.下面给出SOS命令列表. 命令 描述 BPMD [<module name> <method name>] [-md <MethodDesc>] 建立一个断点在指定模块的指定方法上. 如果指定模块和方法尚未被载入,该命令等到该模块被载入并且被即时(just-in-time)编译的通知后再建立断点. CLRStack [-a] [-l] [-p] 只提供托管代码的栈跟踪. -p 选项显…
Effective minidump 简介 在过去几年里,崩溃转储(crash dump)成为了调试工作的一个重要部分.如果软件在客户现场或者测试实验室发生故障,最有价值的解决方式是能够创建一个故障瞬间的应用程序状态镜像,然后可以在开发者的机器上通过调试器进行分析.第一代的crash dump通常被称为“全用户转储(full user dump)”,它包含了进程的虚拟内存的全部内容.毫无疑问,这样的dump对于事后调试非常有价值.但是,这样的dump经常非常大,使得通过电子方式发送给开发者非常困…