DbgView 是一个免费的用于抓取log 的工具,可以捕获并输出OutputDebugString()函数的输出,以及输出windows driver 中dbgprint 的log,对于windows driver 开发和调试是十分有帮助的。

但是该tool 已经很久不再更新了,最新的版本是V4.81 版本,是久远的2012年12月份release 出来的,具体下载链接为:

https://technet.microsoft.com/en-us/sysinternals/debugview.aspx?f=255&MSPPError=-2147217396

目前Dbgview.exe 使用在Windows 10 下,会有一个小问题:

开启“capture kernel” 后运行一次dbgview后关闭该AP,并再次打开时通常会无法再“capture kernel”。提示的error 如下图:

这样会导致DbgView 无法"Capture Kernel",除非重新启动PC。这样非常不方便。

在研究DbgView与“Dbgv.sys” 时发现有几个要点:

1. Dbgview.exe 在启动时,会在该exe中找到对应的resource,然后将这部分生成一个“Dbgv.sys”放在系统目录下,然后启动该sys。

2. 启动成功后就会去delete 该“Dbgv.sys”文件。所以正常在win7 等系统中是无法看到“Dbgv.sys”这个文件的。

3. 当第二次运行dbgview 时,同样会提取出“Dbgv.sys”,并重写之前的文件(如果文件存在的话)。

4. 但是在win 10 中在步骤2总delete 这个文件时会失败;而且在步骤3中进行重写时也是失败的。猜测Windows 10 是禁止重写已经运行了的sys文件。

5. 在overwrite 失败后,dbgview 认为不能正确运行“Dbgv.sys”,所以弹出上文的error message。

6. DbgView 在运行“Dbgv.sys” 时是创建并start 一个service “DBGVSVC”,但是比较奇怪的是在系统中并没发现该service。

根据上述的分析,产生一些策略去尝试避免文中所说的问题:

1. 在再次打开DbgView 前,尝试找到“DBGVSVC” service,并stop service 后再运行DbgView,但是没能找到“DBGVSVC” Service,该策略未生效;

2. 在再次打开DbgView 前,尝试去删除“Dbgv.sys” 文件,然后再运行DbgView,但是该文件未能找到有效的方法成功删除,该策略未生效;

3. 偶然发现“Dbgv.sys” 竟然可以重命名,重命名该文件后再运行DbgView 就OK了。但是该方法的缺陷是需要重启后删除重命名后的文件,否则该文件会一直存在。这个方法对于不想使用我修改后的dbgview 的用户来说,非常友善。

4. 反编译DbgView 后,将dbgview 中重写“Dbgv.sys” 失败后的代码改写,就可以在windows 10 中继续像在以前OS 中开心的玩耍了。修改后的FakeDbgView.exe 可以在https://pan.baidu.com/s/1o8TbqjC 下载。该版本是基于V4.81 版本 版本进行修改。

dbgview 在windows 10 中关闭后再次打开时无法“capture kernel”的更多相关文章

  1. [转]如何在Windows 10中更改文件夹背景颜色

    ini文件.我们甚至可以使用相同的技术将图片设置为文件夹背景. 已有工具可以更改Windows 7中Windows资源管理器背景的颜色,并将图像设置为Windows 7中的文件夹背景,但这些工具与Wi ...

  2. []如何在Windows 10中更改文件夹背景颜色

    ini文件.我们甚至可以使用相同的技术将图片设置为文件夹背景. 已有工具可以更改Windows 7中Windows资源管理器背景的颜色,并将图像设置为Windows 7中的文件夹背景,但这些工具与Wi ...

  3. 重装助手教你如何在Windows 10中更改您的帐户名称

    当您设置新的Win10免费下载 PC时,您选择用户名的部分可能会让您措手不及.如果是这种情况,您可以选择弹出头部的第一件事或者您打算稍后更改的随机和临时事物.但令人惊讶的是,在Windows 10中更 ...

  4. windows 10中的ubuntu子系统安装桌面环境的方法

    windows 10中的ubuntu子系统安装桌面环境的方法 (How to install Ubuntu-desktop in windows 10 Subsystem for Linux) 转载 ...

  5. 如何完全禁用或卸载Windows 10中的OneDrive - 51CTO.COM

    OneDrive 是微软的个人云存储平台,提供了对个人用户的文件托管.存储和同步等服务,OneDrive 默认被内置在 Windows 10 操作系统当中,而且当用户使用 微软账户 登录时,OneDr ...

  6. 在Windows 10中截取截图的6种方式 简介

    在Windows 10中截取截图的6种方式 简介 截图对于不同的目的很重要.它可以用于捕获笔记本电脑上的任何内容的截图.所以,如果你使用Windows 10,你可能不知道如何截图,因为它是比较新的.因 ...

  7. Windows 10 中的存储空间

    存储空间有助于保护你的数据免受驱动器故障的影响,并随着你向电脑添加驱动器而扩展存储.你可以使用存储空间将两个或多个驱动器一起分组到一个存储池中,然后使用该池的容量来创建称为存储空间的虚拟驱动器.这些存 ...

  8. 在 Windows 10 中开启移动 WLAN 热点

    本文将介绍如何在 Windows 10 中开启移动 Wi-Fi 热点. This post is written in multiple languages. Please select yours: ...

  9. 在Windows 10中禁用自动文件夹类型发现

    点击下载注册表文件:https://files.cnblogs.com/files/Music/win10_automatic_folder_type_discovery.zip 已知Windows ...

随机推荐

  1. 堆栈 pop push

    1.什么是堆栈 1.1堆栈 堆栈可以看作程序的心脏 所有重要的数据都会在这个里面体现(比如运算一道算术题,虽然还没算出最终答案,但是你在算出最终结果前的一些过程值可以放进堆栈) 堆栈这块内存比较特殊, ...

  2. 八、CI框架之输出URI路径,相当于GET

    一.controller中的代码如下: 二.我们打开一个路径,输出对应的路径URI的值 http://127.0.0.1/CodeIgniter-3.1.10/index.php/welcome/in ...

  3. 《新标准C++程序设计》1.1-1.6(C++学习笔记1)

    1.cout输出 cout<<待输出项<<待输出项2<<···; 2.cin输入 cin>>变量1>>变量2>>···; 3.C ...

  4. SPOJ FISHER + FPOLICE SPFA+背包

    当初第一次做的是FPLICE这个题,当时就觉得要用图论去搜索,但是当时陷入死思维就是 dp[][]两个维度都是点,这样就违背了题目的本意,题目给定了一个时间T,在不超过时间T的情况下求最小的消耗,这不 ...

  5. SASS - 环境搭建

    SASS – 简介 SASS – 环境搭建 SASS – 使用Sass程序 SASS – 语法 SASS – 变量 SASS- 局部文件(Partial) SASS – 混合(Mixin) SASS ...

  6. 理解python中的'*','*args','**','**kwargs'

    本文来源:http://blog.csdn.net/callinglove/article/details/45483097 让我们通过以下6步来理解: 1. 通过一个函数调用来理解’*’的作用 2. ...

  7. Java算法练习——两数之和

    题目链接 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利 ...

  8. 多线程之间通讯JDK1.5-Lock

    synchronized:代码开始上锁,代码结束时释放锁:内置锁.自动化的.效率低.扩展性不高(不够灵活): JDK1.5并发包Lock锁 --保证线程安全问题,属于手动挡,手动开始上锁,手动释放锁, ...

  9. 从1到n整数中1的个数

    [问题]求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.A ...

  10. h5-transform二维变换

    1.html <div class="translate">1</div> <div class="scale">2< ...