用VS调试dump的几个问题
1. dump文件和pdb文件的匹配问题
>> 发布二进制文件时生成的pdb文件一定要保留,只有当发布的二进制文件和pdb文件是同时生成的才好正确调试。
2. dump文件和pdb文件放在哪里的问题
>> 如果dump文件和pdb文件放在同一个目录,则可直接运行调试;当然也可以不是同一个目录,那么在启动dmp文件后,需要设置一下vs的符号文件路径:Tools->Options->Debugging->Symbols. 如果需要调试windows自带的一些dll或者exe,则可以在这里添加windows的pdb文件服务器:http://msdl.microsoft.com/download/symbols
3. 二进制文件放在哪里的问题
>> 现场恢复需要二进制文件,但不必所有的二进制文件都需要,所以即使你的机器和用户的机器操作系统不一样也没关系;出问题的如果是你发布的二进制文件,则只需要你发布的二进制文件就可以了。vs在加载二进制的文件失败的时候会打印出其详细路径,但这是用户机器上的路径,没有必要一定要跟这个路径一样,把你发布的二进制文件放到dump文件目录就可以了。
4. 显示不了源代码的问题
>> 首先需要设置源代码目录,右键solution:Properties->Common Properties->Debug Source Files,里边加入你的本地源代码目录就是了;但是如果代码已经改过了,恢复不到当时的状态,vs显示不了源码怎么办?只要设置:Tools->Options->Debugging->General->Require source files to exactly match the original version 这个复选框钩掉就可以了
分享到:
相关推荐
首先,配置生成dump文件的环境主要包括以下几个步骤: 1. 安装Debugging Tools for Windows:这是微软提供的一个强大的调试工具集,可以通过下载并安装“Windows SDK”获取。该工具包包含了用于分析dump文件的...
在C++中生成Dump文件,通常需要以下几个步骤: 1. **引入Windows API**:由于Dump文件主要是Windows系统上的概念,所以生成Dump文件需要使用Windows API,如MiniDumpWriteDump。在C++代码中,需要包含`<windows.h>`...
总之,ramdump-tools是一个强大的工具,它在高通方案的宕机分析中扮演着关键角色,通过提供详细的内存状态信息,帮助开发者迅速定位和解决复杂的系统问题。掌握ramdump-tools的使用,对于提升故障排查效率,保障设备...
标题《Coredump简介及使用》和描述《Android Coredump简介及使用_v1.0_***.pdf》揭示了文档主要介绍Coredump的基本概念、产生的原因、控制产生Coredump的方法以及如何使用Coredump文件。Coredump机制广泛存在于多个...
实现C++的自动dump功能,通常需要以下几个关键步骤: 1. **配置编译器**:首先,确保你的编译器支持生成调试信息,例如在Visual Studio中,需要开启调试信息生成(/Zi或/Zi)和完整过程信息(/Fd)。 2. **引入...
在使用Windbg分析dump文件时,通常会结合以下几个步骤: 1. **加载dump文件**:使用`.loadby sos mscorwks`命令加载 sos 插件,这有助于分析.NET应用程序。然后使用`kd> lmv m <module_name>`查看模块信息,找到...
我们将讨论以下几个关键知识点: 1. **MiniDump文件格式**:Windows提供了一种轻量级的内存转储类型,称为MiniDump,它包含进程的基本信息,如线程、模块、堆和异常信息。相比于完整的内存转储,MiniDump文件大小较...
核心 dump 文件通常包含以下几个关键部分: 1. **进程信息**:包括进程ID(PID)、进程的执行路径和命令行参数,这有助于确定崩溃时正在执行的程序。 2. **寄存器状态**:包括CPU的通用寄存器、指令指针等,这些...
MTK Android系统的dump过程通常涉及到以下几个关键步骤: 1. **触发Crash**:当设备出现崩溃或异常时,系统会自动记录相关信息,包括崩溃时间、崩溃前的系统状态以及错误堆栈信息。 2. **日志收集**:Crash-8.0.1...
在C++中,创建和解析dump文件通常涉及到以下几个关键知识点: 1. **异常处理机制**:C++支持标准的异常处理机制,通过try、catch和throw关键字来捕获和处理异常。当异常未被处理导致程序崩溃时,可以利用操作系统...
在使用DumpTool时,需要注意以下几点: - **权限要求**:由于涉及到系统级别的操作,使用DumpTool通常需要管理员权限。 - **文件大小**:Dump文件可能非常大,因此在生成和存储时要考虑硬盘空间。 - **隐私和安全**...
- **调试支持**: 开发者可以在自己的开发环境中使用调试工具(如WinDbg、Visual Studio等)打开Dump文件,模拟出错现场,进一步分析问题。 - **远程调试**: 特别是在无法直接访问远程机器的情况下,Dump文件成为了...
Linux Crash Dump 分析工具的设计和实现需要考虑以下几个方面: * Crash Dump 数据的读取: Crash Dump 数据需要快速读取,以便快速分析 Crash Dump 数据。 * Crash Dump 数据的分析: Crash Dump 数据需要快速...
这个过程通常包括以下几个步骤: 1. **加载核心转储**:使用调试工具(如WinDbg)加载core dump文件,同时指定崩溃时的可执行文件,以便工具能够理解内存布局和代码。 2. **分析堆栈信息**:查看每个线程的堆栈...
在提供的压缩包文件中,我们看到有以下几个关键文件: 1. `net-java-dev-tda.nbm`:这是NetBeans模块包文件,NetBeans是一种流行的Java IDE,该文件可能包含TDA作为NetBeans插件的安装包,使得用户可以直接在IDE...
在C++中,生成dump文件通常涉及到以下几个步骤: 1. **设置崩溃处理函数**:通过`SetUnhandledExceptionFilter`函数,我们可以设置一个自定义的未处理异常过滤器,这个函数会在程序遇到未处理异常时被调用。在这个...
在提供的压缩包文件中,我们看到了以下几个关键文件: 1. LICENSE:这是class-dump-z的许可协议文件,通常为开源软件提供法律保障,允许用户在遵循特定条件的情况下使用、修改和分发软件。 2. README:这个文件通常...
jffs2dump-master的工作流程主要包括以下几个步骤: 1. **读取JFFS2映像**:工具首先读取包含JFFS2文件系统的二进制映像文件。 2. **解析节点**:jffs2dump-master逐个解析映像中的JFFS2节点。每个节点包含了元...
以下是对在Linux下使用MySQL数据库时,如何正确处理coredump的几个关键点的详细解释: 一、确保coredump目录的可用性和权限 首先,coredump文件会被保存到进程的当前工作目录下。当你启动MySQL服务时,如果通过...
要实现C++的内存快照,通常需要以下几个步骤: 1. **监控内存分配**:你需要拦截系统或库的内存分配函数,如`malloc`、`new`、`calloc`等,记录下每次分配的内存信息,包括分配的大小、地址、调用堆栈等。 2. **...