用windbg查看dmp文件,定位bug位置】的更多相关文章

windbg + .dmp + .pdb + 源代码,可以看到是哪个代码崩溃的 设置符号文件所在路径 File->Symbol File Path... 在输入框中填入.pdb文件所在的文件夹路径 设置源代码路径 File->Source File Path... 在输入框中填入源代码所在的文件夹路径 然后,打开.dmp文件,随后在列出一堆信息的后面,点击!Analysis-V超链接, 分析出具体出bug的代码未知…
1.查看dmp文件,首先要通过以下的链接地址进行下载 http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi 2.下载下来后,双击"dbg_x86_6.11.1.404.msi" 3.按着步骤进行安装,最后出现以下图标 Debugging Tools for Windows (x86) 4.单击"WinDbg",弹出窗口 5.选择"File->Open C…
参考之前一篇博客:springmvc请求参数异常统一处理 1.ExceptionHandlerController package com.oy.controller; import java.text.MessageFormat; import java.util.ResourceBundle; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.TypeMismatchException…
在项目的开发中,我们通常需要排查和修改测试中和发布后线上的一些bug,现在有一些第三方的bug分享和查找工具SDK,如腾讯的Bugly和听云等,包括苹果的开发工具xcode也自带 bug查找工具.那么这些工具又是如何获取到程序中的bug日志的?这里就要谈到DSYM文件了,一个很重要的东西. 什么是DSYM文件?——DSYM是符号表文件 那什么是符号表了?——符号表是内存地址与函数名.文件名.行号的映射表.符号表元素如下所示:<起始地址> <结束地址> <函数> [<…
前言:在C++实际开发过程中,开发出来的程序,一般情况下由开发人员进行单元测试,然后移交给测试人员进行测试.在开发人员测试出现的bug,我们可以直接在本地进行调试.如果测试人员测试出崩溃级别的bug,如果我们需要调试往往借助于vs提供的Remote Debugger工具进行远程调试(关于vs2010远程调试的方法,请参考http://blog.sina.com.cn/s/blog_a459dcf5010153o7.html),然是当程序在用户手中出现崩溃此时我们可以采用Remote Debugg…
1.提取Dump格式文件 有两种方式: 第一种,程序崩溃时,启动任务管理器,选择崩溃的*.exe进程,右键选择创建转储文件,通过 开始—运行—输入 %temp% --确定--在打开Temp窗口中即可找到*.dmp文件. 第二种,通过windbg生成dump 文件. 步骤:       1) 打开Windbg并将之Attach 到crash的程序进程       2) 输入产生dump 文件的命令        Windbg产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型…
如果您厌倦了启动调试器.加载转储文件.设置sympath.加载扩展名等,这里有一个很好的方法,可以在.dmp文件的上下文菜单上获取“调试此转储文件”,并自动加载所有您喜欢的命令.首先创建一个包含以下内容的.reg文件(在修改注册表时一定要非常小心) Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.dmp] @="Debugger.Dump" [HKEY_CLASSES_ROOT\Debugger.Dump] [HKEY_…
文章:WinDbg-如何抓取dump文件 命令: cd C:\Windows\System32\inetsrv appcmd list wp 可以查看各个站点的pid…
[故障处理]IMP-00010错误 12C的dmp文件导入11G 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 12C的dmp文件导入11g数据库 ② IMP-00010: not a valid export file, header failed verification错误解决一例 ③ 软件PilotEdit Lite的使用 ④ 从dmp文件头获取导出的版本…
[exp/imp]将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: 种方法)? ② 从dmp文件可以获取到哪些信息?如何从dmp文件获取到dmp文件的字符集(重点,N种方法)? 种方法) ④ dmp文件导入的一般步骤 ⑤ imp工具的indexfile选项的作用 ⑥ 软件UE.Edit…
原帖地址:http://blog.csdn.net/lihuarongaini/article/details/71512116 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 如何将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中(重点,2种方法)? ② 从dmp文件可以获取到哪些信息?如何从dmp文件获取到dmp文件的字符集(重点,N种方法)? ③ 如何从…
步骤一: 生成dump文件. #include <Windows.h> #include <iostream> #include <DbgHelp.h> #include <tchar.h> using namespace std; #pragma comment(lib, "dbghelp.lib") LONG WINAPI TopLevelExceptionFilter(struct _EXCEPTION_POINTERS *pExc…
这个方法很烂,导致重装Oracle时候处处出现问题,不建议使用这个方法,除非你以后不再用Oracle这个软件了,这个方法很烂,再评论一下. 第一,启动服务,(如果数据库处于启动状态,那么略过这一步) 也可以这样: 打开命令行执行以下语句net start OracleServiceORCLnet start  OracleOraDb10g_home2TNSListenernet start OracleOraDb10g_home2iSQL*Plus 以上方式是在windows服务中启动服务,当w…
场景:windows2008 R2系统 ,往新安装的oracle11g数据库导入同事给的dmp文件到指定的新建的用户. 1.创建表空间 在导入dmp文件之前,先打开查看dmp文件的表空间名称(tablespace). 如下图: 注:因为我一会要用plsql工具使用system超级管理员用户登录是创建新用户,而该用户已经拥有users表空间,所以我直接下一步创建新用户. 2.创建用户 使用数据库dba用户创建用户并赋予相应的导入导出等权限. 1:右键->new->User 2:general填写…
使用场景: Win32程序在release模式下编译完成,发送给最终用户使用时,我们的程序有时候也会出现崩溃的情况,这个时候如果能快速定位崩溃原因或提供一些程序崩溃时的状态信息,对我们解决问题将会带来很大的帮助.一般程序崩溃时我们需要搜集的信息包括:系统信息.CPU寄存器信息.堆栈信息.调用堆栈信息.CPU和内存状态.内存当前地址等.调用堆栈是我们最常用到的. 技术方案: 目前我搜集的方法有以下三种,日志记录.dbghelp(.dmp) .SHE(Structured Exception Han…
Windbg抓取程序崩溃的dmp文件的方法 一.        简介 windbg是在windows平台下,强大的用户态和内核态调试工具.相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大.它的另外一个用途是可以用来分析dump数据. 我们使用windbg的主要用途是来抓取IE崩溃产生的dmp文件,然后可以查看是哪个模块导致崩溃,从而协助开发判断分析问题所在. 二.        使用方法 设置WinDbg抓取环境…
一.linux下编译make文件报错“/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/41542101#comments 自己测试的结果: [1]使用windows 下的编辑工具 新建文件doc2unix.sh #!/usr/bin/env bash # test PID=$(ps -aef | grep nginx | grep -v grep | grep master |awk '{print…
 本文转载至  http://blog.csdn.net/lvxiangan/article/details/28102629       利用.dSYM和.app文件准确定位Crash位置首先,确保在release(Ad Hoc或者App Store)一个版本时,保存了对应的xxx.app和xxx.dSYM文件. 其次,验证xxx.crash.xxx.app和xxx.dSYM三者的uuid是否一致. 验证方法: 1)查看xxx.app的uuid. $ dwarfdump --uuid mobi…
前言:WinDbg是微软开发的免费源代码级的调试工具.WinDbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件.本文的讨论是在安装了Debugging Tools for Windows 的前提下进行的,下载地址可以参考我之前的文章.WinDbg对于dump文件的调试可以通过菜单设置Symbol File Path.Source File Path ,并可设置多个路径. 1.  打开Dump格式文件 打开WinDbg,通过菜单[File] à [Open Crash dum…
关键字:hdfs fsck.block.locations 在HDFS中,提供了fsck命令,用于检查HDFS上文件和目录的健康状态.获取文件的block信息和位置信息等. fsck命令必须由HDFS超级用户来执行,普通用户无权限. [hadoop@dev ~]$ hdfs fsck Usage: DFSck [-list-corruptfileblocks | [-move | -delete | -openforwrite] [-files [-blocks [-locations | -r…
mysql如何查看自己数据库文件所在的位置 C:\Program Files\MySQL\MySQL Server 5.5 mysql数据库 方法/步骤     第1步: 打开mysqml文件夹,显示的文件如下,然后找到my.ini文件,如图所示.   第2步: 选中my.ini文件,这时候点击鼠标右键依次选择”打开方式“然后选择”记事本打开“   第3步: 以记事本的方式打开my.ini文件后,按ctrl+f搜索”datadir“就可以找到你数据库的物理路径   第4步: 如果你想修改数据库文…
linux下查看某个文件位置的方法: 例如,不知道apache的配置文件httpd.conf的位置,可以有两种方法来查看: 1.find / -name httpd.conf2.locate httpd.conf 详细参考:http://www.cnblogs.com/ccode/p/4033088.html…
当一个发布的.NET应用程序出现app crash,无法通过日志分析异常原因时,就需要通过分析DMP文件了,传统方式是通过WinDbg来分析DMP文件,但是WinDbg用起来不是很方便,其实VS就是一个很好的DMP文件分析工具,这里我们通过一个简单的控制台项目来分析一个DMP文件. 一.准备一个Demo项目 (1)在VS中新建一个控制台项目,取名Sobey.NullPointerDemo,并在Main方法中写入以下代码: class Program { static void Main(stri…
WinDbg OllyDbg SoftICE (已经停止更新) 虽说WinDbg在无源码调试方面确实比较困难,但在调试内核方面却真的有独到之处. https://www.pediy.com/kssd/pediy10/94457.html 使用Windbg解析dump文件 1 常用的Windbg指令 ①!analyze -v ②kP 可以看函数的入参 ③!for_each_frame dv /t 可以看函数中的局部变量 ④dc , db 产看某一内存中的值 可以直接接变量名 不过可能需要回溯栈 ⑤…
1.得到文件的块大小和数据块个数 在Linux和Unix上,oracle提供了一个小工具dbfsize用于查看文件块大小 (可以参看[ID:360032.1]How to detect and fix a corruption in the datafile OS header - ORA-27047) [oracle@ora11g test1212]$ which dbfsize /db_1/bin/dbfsize --查看控制文件块大小 [oracle@ora11g test1212]$ d…
简介 之前也在linux下安装过oralce,可每次都是迷迷糊糊的,因为大脑一片空白,网上随便看见一个文档就直接复制,最后搞了乱七八糟,虽然装上了,却乱得很,现在记录下来,希望能给其他网上朋友遇到问题时提供点帮助,该篇文件借鉴大量网友的总结,首先谢谢他们! 安装环境 Linux 服务器: SuSe11-linux      64/32位 Oracle服务器: Oracle11gR2      64/32位 系统要求 内存: 必须高于1G的物理内存 交换空间: 一般为内存的2倍,例如:1G的内存可…
1. 如何生成dump文件?     原理:通过SetUnhandledExceptionFilter设置捕获dump的入口,然后通过MiniDumpWriteDump生成dump文件:                SetUnhandledExceptionFilter:https://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k(SETUNHANDLEDEXCEPTIONFILTER);k(DevLa…
1.生成dmp的程序 #include  <dbghelp.h> #pragma comment(lib,  "dbghelp.lib") //设置异常处理回调函数SetUnhandledExceptionFilter(UnhandledExceptionFilter); //异常处理代码//EXCEPTION_EXECUTE_HANDLER equ 1 表示我已经处理了异常,可以优雅地结束了 //EXCEPTION_CONTINUE_SEARCH equ 0 表示我不处理…
转储文件也就是我们常说的dump文件.可以把转储文件看成软件的某个时刻的一个快照.转储文件一般都是在软件出现问题时手动生成或者程序自动生成.下面我们介绍几种生成转储文件的方法. 1. 任务管理器 任务管理器可以说是最易获取的系统工具,同时它具有生成转储文件的功能.但要注意的是在64位操作系统上面,默认启动的是64位的任务管理器.使用任务管理器生成转储文件需要遵循一个原则:用32位任务管理器给32位进程(无论该进程是运行在32位还是64位系统上面)生成转储文件,用64位任务管理器给64位进程生成转…