win7下自写驱动导致开机蓝屏调试过程
之前没有接触过驱动调试。这里上手就要解决一个因为某个自定义驱动导致的系统登陆后蓝屏问题,记录下来。
问题:
从客户那边弄来的一个虚拟机,已知是加了我们的驱动之后才会导致蓝屏。
解决过程:
使用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下自写驱动导致开机蓝屏调试过程的更多相关文章
- AMD电脑装完Winsows10后开机蓝屏,报错代码:cdmsnroot_s.sys
背景:今天装了个WIN10,电脑配置:联想 IdeaPad Z485 : AMD A8处理器 .完成安装后电脑没有问题,安装了驱动程序后将 电脑用360 ...
- C# 串口导致电脑蓝屏一个可能的原因
在某些win7电脑上, 如果使用SerialPort对象的Read(byte[] buffer, int offset, int count)方法读取端口数据时, 若端口接受缓存区的数据少于count ...
- 【原创】驱动开发中Memory read error导致的蓝屏问题
最近在看着<windows驱动开发技术详解>这本书,模仿着敲了第七章中的模拟文件读写部分.在Debug过程中,蓝屏了好多次并出现了各种奇葩的问题.在调了快两天之后,问题终于解决了!现在在这 ...
- Ubuntu16.04开机蓝屏问题解决
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- 解决联想笔记本 安装VM虚拟机后每次启动都会导致电脑蓝屏问题
现象描述: pc为联想笔记本 系统是微软家庭中文版,每次启动VM虚拟机都会出现蓝屏现象,出现错误代码system_service_exception 原因及解决方法: 对于Windows10家庭版 ...
- windbg蓝屏调试
一般在写Windows内核程序的时候,经常会出现蓝屏的问题,这个时候一般是采用记录下dump文件然后用windbg查看得方式,具体的过程就不说了,网上一大堆的内容.现在我主要记录自己当初按照网上的方案 ...
- win7下exe文件设置为开机启动
如何将自己的exe程序设置为开机自启动 如何将自己的exe程序设置为开机自启动 将自己的exe程序设置为开机自启动话不多说,直接看 首先1:cmd—>regedit 其次找到下面的路径就可以:( ...
- Arduino在64位WIN7下无法安装驱动的解决办法
1.获取权限 打开C:\Windows\System32\DriverStore\FileRepository,对着FileRepository文件夹,右键 >>属性 >>安全 ...
- [硬件配置]记录Ubuntu 14.04 下安装无线网卡驱动解决无法连接WiFi的过程
新电脑安装了Ubuntu 14.04,但是网络连接中只有以太网而没有WiFi的选项. 打开System Setting系统设置-Software&Updates软件&更新-Additi ...
随机推荐
- 表达式求值 (栈) 用C++实现
#include <cstdio> #include <cstdlib> #include <cmath> #include <stack> #incl ...
- StarUML中时序图添加小人
转载于 http://blog.csdn.net/longyuhome/article/details/9011629 在看时序图的例子的时候,发现有些的时序图上有小人的图标,可是一些UML工具却没有 ...
- Android(java)学习笔记257:JNI之helloword案例(利用NDK工具)
1.逻辑思路过程图: 2.下面通过一个HelloWorld案例来说明一下JNI利用NDK开发过程(步骤) 分析:我们在Win7系统下编译的C语言代码,我们知道C语言依赖操作系统,不能跨平台,所以我们要 ...
- Linux shell入门基础(一)
Linux shell入门基础(一): 01.增加删除用户: #useradd byf userdel byf(主目录未删除) userdel -r byf 该用户的属性:usermod 用 ...
- 快速优化yum (for centos5.5)
定义yum超时时间:vi /etc/yum.conftimeout=120 修改源:(全部复制粘贴即可)cd /etc/yum.repos.d/mv rhel-debuginfo.repo rhel- ...
- nginx 2.基本配置
死磕nginx 2.基本配置 鉴于深入浅出的原理,我们先从一个简单的配置了解nginx的配置 1.一个典型配置 nginx的配置文件默认在nginx安装目录的conf二级目录下面,主配置文件为 ngi ...
- ASP.NET-FineUI开发实践-9(三)
1. TextChanged事件前台触发回发后台,接上文,先给TextBox1加上事件,看看是怎么生成出来的, 注意AutoPostBack="true",找源代码,f4多出了个 ...
- 在公网(internet)上建立website时不能用http访问
我们在internet的IDC提供的虚拟机上建了新的web site, 域名也从阿里巴巴那里得到二级域名,也经过映射到了虚机的IP, 在本机都可以用域名以Http方式访问,但在internet上的其它 ...
- hdu 1175
#include <iostream> #include <string> #include <stdio.h> using namespace std; int ...
- hdu 2189
//hdu2189 题意大概就是给n个人,分成多组,要求每组人数都是素数,求有多少种... 解法就是先把150以内的素数全部存入一个数组,然后利用a[j+b[i]]+=a[j];这道题一开始没理解 ...