求一个hw_config文件能删除吗.h文件还有my_type.h文件?

格式:PDF ? 页数:9页 ? 上传日期: 17:24:57 ? 浏览次数:37 ? ? 1500积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

出错位置主要出现在include这里把路徑改为绝对路径就可以啦。

  • 第一次遇到程序崩溃的问题之湔为单位开发了一个插件程序,在本机运行没有出现问题但把生成的可执行文件拷贝到服务器上一运行程序,刚进入插件代码插件服務就崩溃了,当时被这个问题整的很惨在同事的帮助下...

     
    第一次遇到程序崩溃的问题,之前为单位开发了一个插件程序在本机运行没有絀现问题,但把生成的可执行文件拷贝到服务器上一运行程序刚进入插件代码,插件服务就崩溃了当时被这个问题整的很惨,在同事嘚帮助下了解到对于程序崩溃,最快的解决方式是生成dump文件通过生成dump文件使用调试工具进行调试,还原程序崩溃时的状态能够起到赽速定位排查问题的作用。Dump文件是进程的内存镜像可以把程序的执行状态通过调试器保存到dump文件中。Dump文件是用来给驱动程序编写人员调試驱动程序用的这种文件必须用专用工具软件打开,比如使用WinDbg、VS打开因为第一次遇到此类问题,完全没有头绪但同事很快通过dump文件佷快定位到空指针问题,秉承着遇到的问题在遇到第二次不能再是问题的原则对dump文件的含义、生成、作用、分析、定位排查的过程进行說明,算是对遇到的程序崩溃的问题总结
    本文档适用于开发人员。

    Studio给出的弹窗提示写入位置为0x,而调用堆栈可以指示出程序崩溃时的位置通过这两个位置可以快速的帮助我们定位出问题代码。


    过程如上所示因此不再赘述。可以通过VS2008的堆栈帧函数调用层次


    编译方法2:gyp 编譯;
    别人机器上的dump调试:
    这段时间突然发现,要一下做一个金刚不坏之身的程序是不太可能滴至于对我来说吧。
    这个程序也要经过千锤百炼才能够练就一个强大的自信心
    我现在做系统就不考虑一下把程序做的足够强壮了,因为我也做不到现在做系统时,总考虑的一个問题:
    当系统异常的时候怎么去处理
    我不怕系统程序出现异常,甚至直接Over只要能在异常时处理异常后继续运作,在崩溃重启后能够继续紦没
    干的活给干了那么这个在我能够承受的范围内,也在大多数客户的承受范围内因为这样就是我们所说的将
    损失减小到最低,其实昰不是最低只有自己能够知道
    当然了,我更希望能够做出一个健壮无比的牛逼程序所以我想知道程序是在什么情况下崩溃的,可是有些问题
    你懂的老在客户机器上或者生产环境下出现,却在自己的机器上和测试环境就他妈的不出现遇见这种情况我是
    跳楼或者杀人的惢情都有了,偶尔我也犯过情绪想提出辞职申请,换个行业去告别这苦逼的程序员生涯,
    可总不知道是什么力量支持着我让我坚强依旧滴做着程序员,过着狗日的日子
    后来,不经意间一位同事给我说了一个种在系统中异常或者崩溃的时候,来生成dump文件然后用调試器来调试。
    这样就可以在生产环境中的dmp文件拷贝到自己的开发机器上,调试就可以找到错误的位置配合程序调试符号pdb文件,
    直接可鉯定位到源代码中位置真是太他妈的神奇了,虽然Release版本下的很多变量的值是不对滴但并不影响我这个
    这么有执着心的coder来找bug。
    同事给了峩他写的示例往空指针拷贝数据,在非调试下运行后果然的崩了,果断滴生成了一个扩展名为dmp的文件
    然后他用vs2010打开那个dmp文件,vs2010很果斷滴定位到了那个往空指针拷贝数据那里
    看他那娴熟的操作,顿时感觉到了他的强大和微软的牛逼
    后来我就学他,在程序中加入程序異常时产生dump文件的功能待系统发布后,在一次不经意间一个程序挂掉了
    在客户的谩骂中,我面带笑容说:这个问题很好解决我满怀信心滴从服务器上拷贝了程序崩溃产生dump文件,
    然后学着那个同事用vs2010打开我了个去,咋没有定位到源代码中内只定位到了可执行文件的┅个地址,这让哥
    还好我对pdb了解还比较熟悉,想来应该是符号文件的问题于是就开始摸索的,不经意见的在
    堆栈处右击了下发现菜單里竟然有“加载符号”,而且还有“符号路径”我想这大概就是让我来选择
    对应的pdb文件吧,顿时感觉曙光就在前面
    点击了“符号路徑”后如下图:
    才发现了,它并不是来选择符号文件而是选择对应的可执行程序的路径,选择了后果断滴定位到了源代码的位置
    才发現一个很简单很美丽的bug,修改后在测试后重现发布,系统的健壮性又提高了一个台阶
    回头想了想,我同事给我演示的时候他程序运荇的目录和就是他直接用vs2010生成的目录,所以此种情况下
    用vs2010打开dmp文件即可定位到源代码文件而发布后的程序,一般情况下你根本不知道别囚放在什么地方去执行的
    因此调试时还并必须选相同版本的可执行文件,然后pdb文件才会好好工作要不没可执行文件,咋个调试嘛
    哎,这同事居然还留了一手,坑爹啊
    不过还是要感谢他滴,我又掌握了一些东西又增强了我这个苦逼程序员写好程序的信心。
    在写这個之前看了相关文章感觉比较好的推荐一哈:
    到这里,你就可以在你的工程中通过代码的方式添加在程序崩溃的时候回创建dump文件了;
    .dump 命令创建一个用户模式或内核模式崩溃转储文件。分析工具:
    程序崩溃(crash)的时候 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序內存空间数据都保存下来生成的文件称为dump 文件。 步骤:
    2) 输入产生dump 文件的命令
    直接用.dump -?可以看到它的简单说明:


    /o :覆盖具有相同名字的dump文件如果没有使用该选项又存在一个相同名字的文件,则dump文件不会被写入:比如我的C盘原有一个/kb/931673
    第一种: 通过任务管理器:这种适用在程序掛了(crash)的时候进程还未退出比如我运行程序,出现了下面的错:

    此时打开任务管理器右击相应进程,点击"Create Dump File“:



    然后把这个DMP文件拷到开发機器上用VS打开: 会出现下面的界面,要想知道发生错误时候的调用栈需要设置symbol的路径,点击”Set Symbol Paths“:

    注意这个pdb要对应于crash的exe否则调用栈沒法显示:



    如果程序crash的时候没有框蹦出来,可以通过改注册表的设置让操作系统在程序crash的时候自动生成dump并放到特定的目录下
     

     

  • 网维大师目湔能够收集32位客户机系统(XP和win7 32位)产生的蓝屏DMP文件到服务端DUMP文件夹,我们可以通过分析蓝屏曰志来确定到底是什么导致了客户机蓝屏 一、WinDbg是什么?它能做什么  WinDbg是在windows...

  • 使用 GDB 调试 CoreDump 文件 28 AUGUST 2011 写C/C++程序经常要直接和内存打交道,一不小心就会造成程序执行时产生Segment Fault而挂掉一般这种情况嘟是因为数组越界访问,空指针或是野指针读写造成的程序小...

  • 最近开始学习用WinDbg调试Dump文件,本文只是

  • 我们以收集一款收费软件引起windows系统蓝屏为例子...若网吧之前已经存在日志目录并且日志较大,可以删除之前的日志文件重现问题后再提取新日志 2、计费客户端日志:在客戶端system32目录下手动创建wxlog和w

  • 我们在调试程序时经常出现没办法直接跟踪的情况:在没有调试环境的机器上运行;出现的几率不是很高;原来出現的问题在debug状态下不出现等等情况,常常使得并不算新手的程序员不知所措郁郁终日,项目一拖再拖...

  • 1. 生产环境上出问题, 我们需要抓取dump攵件, 在线下去debug. 2. 正在运行一大堆测试, 当其中一个崩溃的时候, 不希望在运行时干扰整个测试动作, 仅需要收集一些测试信息. 3. 问题在连接到debugger后无法偅现. ...

我要回帖

更多关于 config文件能删除吗 的文章

 

随机推荐