`
隐形的翅膀
  • 浏览: 496592 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用VS调试dump的几个问题

 
阅读更多
用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 这个复选框钩掉就可以了
分享到:
评论

相关推荐

    Windows调试(通过dump文件定位崩溃)

    首先,配置生成dump文件的环境主要包括以下几个步骤: 1. 安装Debugging Tools for Windows:这是微软提供的一个强大的调试工具集,可以通过下载并安装“Windows SDK”获取。该工具包包含了用于分析dump文件的...

    C++ 生成Dump文件

    在C++中生成Dump文件,通常需要以下几个步骤: 1. **引入Windows API**:由于Dump文件主要是Windows系统上的概念,所以生成Dump文件需要使用Windows API,如MiniDumpWriteDump。在C++代码中,需要包含`<windows.h>`...

    ramdump-tools

    总之,ramdump-tools是一个强大的工具,它在高通方案的宕机分析中扮演着关键角色,通过提供详细的内存状态信息,帮助开发者迅速定位和解决复杂的系统问题。掌握ramdump-tools的使用,对于提升故障排查效率,保障设备...

    Coredump简介及使用

    标题《Coredump简介及使用》和描述《Android Coredump简介及使用_v1.0_***.pdf》揭示了文档主要介绍Coredump的基本概念、产生的原因、控制产生Coredump的方法以及如何使用Coredump文件。Coredump机制广泛存在于多个...

    c++ 自动dump AutoDump

    实现C++的自动dump功能,通常需要以下几个关键步骤: 1. **配置编译器**:首先,确保你的编译器支持生成调试信息,例如在Visual Studio中,需要开启调试信息生成(/Zi或/Zi)和完整过程信息(/Fd)。 2. **引入...

    调试技巧 —— 如何利用windbg + dump + map分析程序异常

    在使用Windbg分析dump文件时,通常会结合以下几个步骤: 1. **加载dump文件**:使用`.loadby sos mscorwks`命令加载 sos 插件,这有助于分析.NET应用程序。然后使用`kd> lmv m <module_name>`查看模块信息,找到...

    windows下dump文件生成及调试(文档及代码)

    我们将讨论以下几个关键知识点: 1. **MiniDump文件格式**:Windows提供了一种轻量级的内存转储类型,称为MiniDump,它包含进程的基本信息,如线程、模块、堆和异常信息。相比于完整的内存转储,MiniDump文件大小较...

    高通core dump解析工具

    核心 dump 文件通常包含以下几个关键部分: 1. **进程信息**:包括进程ID(PID)、进程的执行路径和命令行参数,这有助于确定崩溃时正在执行的程序。 2. **寄存器状态**:包括CPU的通用寄存器、指令指针等,这些...

    MTK系统DUMP之Crash-8.0.1工具

    MTK Android系统的dump过程通常涉及到以下几个关键步骤: 1. **触发Crash**:当设备出现崩溃或异常时,系统会自动记录相关信息,包括崩溃时间、崩溃前的系统状态以及错误堆栈信息。 2. **日志收集**:Crash-8.0.1...

    c++ dump文件生成类

    在C++中,创建和解析dump文件通常涉及到以下几个关键知识点: 1. **异常处理机制**:C++支持标准的异常处理机制,通过try、catch和throw关键字来捕获和处理异常。当异常未被处理导致程序崩溃时,可以利用操作系统...

    DumpTool 工具 下载

    在使用DumpTool时,需要注意以下几点: - **权限要求**:由于涉及到系统级别的操作,使用DumpTool通常需要管理员权限。 - **文件大小**:Dump文件可能非常大,因此在生成和存储时要考虑硬盘空间。 - **隐私和安全**...

    Dump文件作用和生成

    - **调试支持**: 开发者可以在自己的开发环境中使用调试工具(如WinDbg、Visual Studio等)打开Dump文件,模拟出错现场,进一步分析问题。 - **远程调试**: 特别是在无法直接访问远程机器的情况下,Dump文件成为了...

    Linux Crash Dump分析工具的设计与实现.pdf

    Linux Crash Dump 分析工具的设计和实现需要考虑以下几个方面: * Crash Dump 数据的读取: Crash Dump 数据需要快速读取,以便快速分析 Crash Dump 数据。 * Crash Dump 数据的分析: Crash Dump 数据需要快速...

    《coredump问题原理探究》windows版.rar

    这个过程通常包括以下几个步骤: 1. **加载核心转储**:使用调试工具(如WinDbg)加载core dump文件,同时指定崩溃时的可执行文件,以便工具能够理解内存布局和代码。 2. **分析堆栈信息**:查看每个线程的堆栈...

    Java thread dump analyzer (tda)

    在提供的压缩包文件中,我们看到有以下几个关键文件: 1. `net-java-dev-tda.nbm`:这是NetBeans模块包文件,NetBeans是一种流行的Java IDE,该文件可能包含TDA作为NetBeans插件的安装包,使得用户可以直接在IDE...

    dump生成代码

    在C++中,生成dump文件通常涉及到以下几个步骤: 1. **设置崩溃处理函数**:通过`SetUnhandledExceptionFilter`函数,我们可以设置一个自定义的未处理异常过滤器,这个函数会在程序遇到未处理异常时被调用。在这个...

    class-dump-z

    在提供的压缩包文件中,我们看到了以下几个关键文件: 1. LICENSE:这是class-dump-z的许可协议文件,通常为开源软件提供法律保障,允许用户在遵循特定条件的情况下使用、修改和分发软件。 2. README:这个文件通常...

    jffs2dump-master

    jffs2dump-master的工作流程主要包括以下几个步骤: 1. **读取JFFS2映像**:工具首先读取包含JFFS2文件系统的二进制映像文件。 2. **解析节点**:jffs2dump-master逐个解析映像中的JFFS2节点。每个节点包含了元...

    Linux下MySQL数据库使用coredump注意事项

    以下是对在Linux下使用MySQL数据库时,如何正确处理coredump的几个关键点的详细解释: 一、确保coredump目录的可用性和权限 首先,coredump文件会被保存到进程的当前工作目录下。当你启动MySQL服务时,如果通过...

    C++ Dump 内存快照的实现

    要实现C++的内存快照,通常需要以下几个步骤: 1. **监控内存分配**:你需要拦截系统或库的内存分配函数,如`malloc`、`new`、`calloc`等,记录下每次分配的内存信息,包括分配的大小、地址、调用堆栈等。 2. **...

Global site tag (gtag.js) - Google Analytics