之前没有接触过驱动调试。这里上手就要解决一个因为某个自定义驱动导致的系统登陆后蓝屏问题,记录下来。

 

问题:

从客户那边弄来的一个虚拟机,已知是加了我们的驱动之后才会导致蓝屏。

解决过程:

 

使用windbg直接双机调试

开机登陆后会直接蓝屏,错误码是0x00000050。想要进入安全模式去移除驱动也进不去,会卡在某个驱动加载过程中。首要的就是进入系统去排查是哪个驱动有问题。还好是虚拟机,有如下方式可更改操作系统中内容。,改完之后要在虚拟机射中的使用工具中断开相应映射。

注意:有些与具体设备相关的驱动,无法直接通过更改驱动名称来去掉驱动,因为注册表里填充了该驱动名,当系统启动时找不到驱动也会蓝屏。

 

通过windbg调试win7内核驱动,这里有篇比较好的博文有比较系统的介绍。http://www.cnblogs.com/mvperic/archive/2010/07/25/1784790.html

问题来了,按照别人教的在windbg里设置好符号路径和源代码路径,连是连上了,可以似乎总是到一半就断掉了。完全不知道怎么回事啊。。。

于是请教了一下会的同事,还是没找到原因,然后用另一个相同的系统,发现是可以挂上的,所以配置方法没问题,没有找到解决方法,那么用windbg直接调试驱动这个方法暂时搁置了。

 

使用windbg分析dump文件

 

打开新的windbg窗口,设置好微软符号服务器srv*C:\symbolcache*http://msdl.microsoft.com/download/symbols;

以及自己的驱动pdb目录、自己驱动的源码路径,以及Image路径(即sys文件路径)。然后拖入dump文件,界面效果如下,这时候手动敲入命令!Analyze -v,出现如下提示,OK,已经在进行分析了,稍等片刻,还会有更详细的信息,最终是这样的效果,按alt+6打开堆栈窗口,

如果这里面有自己的驱动函数的话,双击就会跳到源码中出问题的地方了。很像VS调试,我这里是后面截的图,所以没有我的驱动了。

win7下自写驱动导致开机蓝屏调试过程的更多相关文章

  1. AMD电脑装完Winsows10后开机蓝屏,报错代码:cdmsnroot_s.sys

    背景:今天装了个WIN10,电脑配置:联想 IdeaPad   Z485      : AMD   A8处理器      .完成安装后电脑没有问题,安装了驱动程序后将           电脑用360 ...

  2. C# 串口导致电脑蓝屏一个可能的原因

    在某些win7电脑上, 如果使用SerialPort对象的Read(byte[] buffer, int offset, int count)方法读取端口数据时, 若端口接受缓存区的数据少于count ...

  3. 【原创】驱动开发中Memory read error导致的蓝屏问题

    最近在看着<windows驱动开发技术详解>这本书,模仿着敲了第七章中的模拟文件读写部分.在Debug过程中,蓝屏了好多次并出现了各种奇葩的问题.在调了快两天之后,问题终于解决了!现在在这 ...

  4. Ubuntu16.04开机蓝屏问题解决

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  5. 解决联想笔记本 安装VM虚拟机后每次启动都会导致电脑蓝屏问题

    现象描述: pc为联想笔记本 系统是微软家庭中文版,每次启动VM虚拟机都会出现蓝屏现象,出现错误代码system_service_exception 原因及解决方法: 对于Windows10家庭版  ...

  6. windbg蓝屏调试

    一般在写Windows内核程序的时候,经常会出现蓝屏的问题,这个时候一般是采用记录下dump文件然后用windbg查看得方式,具体的过程就不说了,网上一大堆的内容.现在我主要记录自己当初按照网上的方案 ...

  7. win7下exe文件设置为开机启动

    如何将自己的exe程序设置为开机自启动 如何将自己的exe程序设置为开机自启动 将自己的exe程序设置为开机自启动话不多说,直接看 首先1:cmd—>regedit 其次找到下面的路径就可以:( ...

  8. Arduino在64位WIN7下无法安装驱动的解决办法

    1.获取权限 打开C:\Windows\System32\DriverStore\FileRepository,对着FileRepository文件夹,右键 >>属性 >>安全 ...

  9. [硬件配置]记录Ubuntu 14.04 下安装无线网卡驱动解决无法连接WiFi的过程

    新电脑安装了Ubuntu 14.04,但是网络连接中只有以太网而没有WiFi的选项. 打开System Setting系统设置-Software&Updates软件&更新-Additi ...

随机推荐

  1. Computer Vision and Machine Learning Competitions

    一.ImageNet Object Detection, Object Classification+Localization 二.COCO Image Captioning 三.LFW Face R ...

  2. 项目总结——深入浅出socket网络编程

    前言: 为什么会有如题的概念呢,我想对于没有主动听说过socket网络编程的人来说读到题目可能就已经蒙头了,为了很好的让大家进入场景,首先说一下一个需要用到这点东西的业务需求. 首先大家应该明确的是s ...

  3. [Docker] Docker Client in Action

    Pull the docker image: docker pull hello-world Show all the images: docker images Remove the image: ...

  4. 神经网络和BP算法推导

    注意:绘画太难了,因为他们画,本文中的所有插图来自基本算法饺子机类.请勿转载 1.习模型: 事实上,基本上全部的基本机器学习模型都能够概括为下面的特征:依据某个函数,将输入计算并输出. 图形化表示为下 ...

  5. Java基础知识强化26:Object类之hashCode()方法、getClass()方法

    1. Object类的hashCode()方法,如下: public  int  hashCode():返回该对象的哈希码值,这个值和地址值有关,但是不是实际地址值(哈希码值是根据实际地址值转化过来的 ...

  6. 11-C#反射机制

    C#反射机制 转自:http://blog.csdn.net/educast/article/details/2894892 反射的用途:    (1)使用Assembly定义和加载程序集,加载在程序 ...

  7. MVC4建立DBContext的EF6数据

    MVC4建立DBContext的EF6数据时 1.需要using System.Data.Entity;命名空间 2.此命名空间需要安装EntityFromwork.dll,此dll可以在项目——&g ...

  8. git some cookies

    *首先得配置和本地的操作实际上都很简单,忽略了:*git 添加远程仓库 git remote add 仓库名 url:*先pull下来,语法 git pull 远程仓库名 远程分支名[:当地分支名], ...

  9. Linux文件和目录操作管理命令

    1.pwd:显示工作目录路径 -p:显示实际物理路径 -l:显示链接路径 2.cd:更改工作目录路径 cd:进入用户主目录 cd~:进入用户主目录 cd-:返回进入此目录之前所在的目录 cd..:返回 ...

  10. Cacti添加Advance Ping监控模板

    Cacti脚本   1.Advance Ping 脚本及模板   注:要使用此模板,编译PHP时必须加上--enable-sockets选项来支持套接字.   1).功能:此模板用来监控一个TCP/U ...