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

 

问题:

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

解决过程:

 

使用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. mongodb3.0 性能測试报告 一

    mongodb3.0 性能測试报告 一 mongodb3.0 性能測试报告 二 mongodb3.0 性能測试报告 三 測试环境: 服务器:X86 pcserver   共6台 cpu:  单颗8核 ...

  2. linux下负载均衡(LVS安装与配置)【转】

    一.LVS的三种包转发方式      LVS提供了三种包转发方式:NAT(网络地址映射).IP Tunneling(IP隧道).Direct Routing(直接路由)     不同的转发模式决定了不 ...

  3. [Javascript] Advanced Reduce: Additional Reducer Arguments

    Sometimes we need to turn arrays into new values in ways that can't be done purely by passing an acc ...

  4. [转] IPC之管道、FIFO、socketpair

    管道和FIFO作为最初的UNIX IPC形式,现在已用得较少.SocketPair可作为全双工版本的管道,较为常用,这里简单做个笔记 管道 * 只用于有亲缘关系的进程间通信 * 单向,即半双工 (双向 ...

  5. C#获取窗口,模拟按键操作

    C#获取窗口,模拟按键操作,实现计算器模拟操作.首先引用. using System.Runtime.InteropServices; 使用DllImport引入两个函数: // Get a hand ...

  6. .net 中序列化和反序列化的使用

    序列化的目的:将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数据. 序列化 序列化分为JSON 序列化,XML序列化,二 ...

  7. 基于jQuery仿uploadify的HTML5图片上传控件jquery.html5uploader

    (function($){ var methods = { init:function(options){ return this.each(function(){ var $this = $(thi ...

  8. Jsp笔记(1)

    1. jsp页面中出现中文乱码怎么解决? <%@ page contentType="text/html; charset=GB2312"%> <%@ page ...

  9. JAVA小项目之五子棋

    五子棋V1.0 功能: 人人对战,人机对战(初级) 记录双方分数: 主要知识点: 二维坐标系中,各方向坐标的关系及规律. 效果图: 主框架类: package com.gxlee.wzq; /** * ...

  10. java中保留几位小数

    public class NumUtils { /** * 保留两位小数 * * @param d * @return */ public static String get2Wei(double d ...