Visual Studio 2013开发 mini-filter driver step by step (3) - 查看运行结果
除了调试driver之外,诊断driver问题还有很重要的一种方式就是查看driver的log,当然也可以像应用层程序一样,输出log到文件中,但是输出log到文件中,会影响系统性能,因为log信息一般都是实时输出的,而且一般只希望在debug版本的时候才会输出log,release版本是不会输出的,这样可以使系统运行得更加顺畅。
可以使用
DbgPrint
来输出log信息,在我们用Visual studio 2013创建出来的工程中,已经定义了一个宏,名叫
PT_DBG_PRINT
这也是输出log用的,但是默认没有启用,需要把下面这一句
ULONG gTraceFlags = 0;
改成
ULONG gTraceFlags = 1;
这样在代码中调用PT_DBG_PRINT就可以输出log信息了。
要查看driver输出的log信息,可以使用工具DebugView来进行查看。
重新编译driver,然后拷贝到目标机器上,再次使用sc start ssmf命令启动driver,同时打开DebugView查看输出的log。如下图所示。
到此我们看到我们的第一个driver程序已经在系统中正常运行起来了,并且还看到了我们的输出信息,是不是有点小激动呢?不管你激不激动,反正我有点:)
Visual Studio 2013开发 mini-filter driver step by step (3) - 查看运行结果相关推荐
- Visual Studio 2013开发 mini-filter driver step by step (1) - 创建 mini filter driver 工程
Visual Studio 2013终于集成了Driver的开发和调试功能了,这是大多数开发者期盼已久的大事了,本文以mini filter driver的开发为例. 想当初,要创建一个mini fi ...
- Visual Studio 2013开发 mini-filter driver step by step (2) - 编译,部署,运行
编译driver 一个基本的mini filter项目创建好了以后,就可以编译,部署和运行了,在部署之前,我们要先确定在什么样的系统上运行,我有一台windows 2008 r2拟机,所以我的运行的目 ...
- Visual Studio 2013开发 mini-filter driver step by step 获取文件读写内容(6)
由于后面的内容跟Visual Studio已经没有太大关系,故文章标题去掉Visual Studio前缀. 今天刚好在CSDN上读到一篇文章<程序员都要有八块腹肌>,所以要练好身体啊!其实 ...
- Visual Studio 2013开发 mini-filter driver step by step (4) - 获取文件名
mini filter驱动一般用于杀毒,加密,数据实时备份等.无论是杀毒软件,加密软件还是备份软件等都是基于这样一个基本事实,就是监控文件内容以及文件内容的变化,怎样监控检测文件内容?就是监控文件的读 ...
- 使用Visual Studio 2013开发Python Django
熟悉了C++或C#的童鞋可能对Visual Studio编辑器比较熟悉,最近在学python,就想使用VS当做IDE,经过几番调试,感觉还是不错的 1.安装Python Tools for Visua ...
- Visual Studio 2013开发 mini-filter driver step by step (11) driver 签名
在windows vista以后的版本,driver必须签名才能正常运行,如果要想没有签名的driver也能正常运行在这些系统上面,需要在系统启动的时候按F8,选择 Disable Driver ...
- Visual Studio 2013开发 mini-filter driver step by step 应用层与内核通讯(8)
应用层与内核通讯是通过通讯端口来进行的,下面的这个API就是内核用来创建一个内核端口的. NTSTATUS FltCreateCommunicationPort(_In_ PFLT_FILTER Fi ...
- Visual Studio 2013开发 mini-filter driver step by step (5) - 读写文件
在kernel中读写文件要比在应用层麻烦一些,但是基本思路大体上还是一致的. 在内核中,也有很多相关的读写文件的API,本文只对 FltCreateFileEx FltReadFile FltWrit ...
- Visual Studio 2013开发 mini-filter driver step by step 获取可执行文件名称 - 实现process monitor的一个功能 (10)
国庆就要结束了,遗憾一下:) 先看看process monitor的样子 他的功能就是监控哪些应用程序执行了什么操作,比如打开了哪些文件,读取了哪些文件等. 今天在使用一张小学英语光盘的时候,发现安装 ...
最新文章
- 详解OpenCV中的Lucas Kanade稀疏光流单应追踪器
- sql server 2008 r2 没有维护计划_坚果R2发布,骁龙865+1亿像素+90Hz,4499元起
- 技术转管理?这些“坑”你要绕道走
- mysql如何创建用户代码_MySQl创建用户和授权的方法介绍(代码示例)
- 《JavaScript高级程序设计(第2版)》
- (转)关于同步和异步的理解(ajax网络编程)
- [转]IE首页被http://www.9798.net/篡改解决办法
- 故障排查 node_Kubernetes 故障解决心得(一)
- MAC使用RZ SZ指令实现本地与远程服务器之间文件上传与下载
- 怎么彻底卸载mysql8.0_彻底卸载MySQL8.0
- java解析魔兽争霸3录像_Java解析魔兽争霸3录像W3G文件(五):Action和APM计算
- 【PWM】从stm32到pwm到OLED屏幕调光到晚上不要玩手机
- JS - 解决鼠标单击、双击事件冲突问题(原生js实现)
- python软件是什么架构_Python应用程序的最佳项目结构是什么? [关闭]
- Ubuntu安装sogo输入法
- c语言 将结构体放在flash,stm32的内部flash读写操作(含结构体的保存)
- 【QT】QT菜单栏、状态栏、工具栏
- 树状图JQuery.ztree插件的使用
- 使用ffmpeg转换webm格式
- 基于爬虫的诗人APP
热门文章
- php queryList函数,QueryList/QueryList.php at master · baijunyao/QueryList · GitHub
- python word2vector (三)
- elasticsearch最大节点数_Elasticsearch选举原理之Bully算法
- iphone屏蔽系统更新_未越狱屏蔽系统更新还是来了
- 111. Leetcode 300. 最长递增子序列 (动态规划-子序列问题)
- 26. Leetcode 206. 反转链表 (链表-反转链表)
- 机器学习笔记 network compression
- 机器学习笔记 RNN初探 LSTM
- 数据挖掘系列(4)使用weka做关联规则挖掘
- 分布式计算Hadoop系列之如何修改Eclipse插件