WIN7 + VS2015 + WDK10 + SDK10

电脑杂谈  发布时间:2019-07-22 18:07:57  来源:网络整理

剑灵安装不了缺少分卷文件_vs安装失败,原因是缺少_vs安装失败,原因是缺少

1、安装好虚拟机后,给虚拟机增加一个串口设备。具体操作见图:

完成配置后虚拟机设备配置就多了一个串行端口的设备。因为打印机用了端口1。所以设备里面显示的是串行端口(如果想设置成端口1,把打印机设备删了在添加串口设备)。

2、配置虚拟机系统为调试模式

以管理员身份,在虚拟机命令行模式下运行如下2个命令开启。

bcdedit /debug on

bcdedit /dbgsettings serial debugport:nbaudrate:115200

wherenis the number of a COM port on the virtual machine.(n时虚拟机的一个COM端口号。就是设备显示的串行端口2,n就是端口2)。

3、把WDK10的虚拟机调试驱动拷贝到虚拟机中安装。

因为VS2015可以调试x86 x64两种驱动所以两个都拷贝到虚拟机安装。

4、VS2015开发工具配置

在VS2015的菜单栏点击DRIVER--TEST--CONFIGURE DEVICES会报错估计是VS2015的Bug求大神指点。如图

vs安装失败,原因是缺少_vs安装失败,原因是缺少_剑灵安装不了缺少分卷文件

这里不行我们换个地方配置,从工程属性里面进行配置。右键工程属性配置从这也可以进行测试设备的配置:

配置界面,下面两个选项第一项由VS2015帮我们创建一个WDKuser测试账户,自动打开测试模式等。第二个是使用我们自己配置的参数。由于上面我们已经配置了串口参数 、设置了调试模式所以我们选择第二个就行了。

如下配置在内核模式中,选择串口、配置好波特率、勾上2个选项、管道名称、端口号。

出现上述红色框字样则说明配置已经成功了。(不要开启全局代理软件,否则会出现连接不上的问题)。

5、使用工具安装调试64位驱动

网上下的下面的驱动安装软件貌似64位的都用不了。

自己动手丰衣足食大笑,自己在网上弄了个源码改了下弄成可以加载64位的驱动的版本了。

使用DebugView打印内核调试信息是开发驱动的非常重要的手段,但DebugView默认在WINDOWS 10下却无法获取内核的调试日志,驱动调用KdPint/DbgPrint等的打印结果是无法被DebugView给捕捉到的。设置方法如下(复制下面的代码到txt文件。改后缀为.reg后执行,然后重启电脑):

[cpp]

在CODE上查看代码片派生到我的代码片

vs安装失败,原因是缺少_剑灵安装不了缺少分卷文件_vs安装失败,原因是缺少

WindowsRegistryEditorVersion5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\DebugPrintFilter]

"DEFAULT"=dword:0000000f

还有自己编译出来的驱动要使用编译的Debug版本来测试,Release版本是不会执行KdPrint/DbgPint函数的。

下面是在Win10 64位的虚拟机中用此安装程序,加载64位的驱动以及用DebugView查看驱动打印消息的截图结果。

6、在VS2015中下断点进行调试

如果你第五部已经完成了,并且在DebugView中已经能够输出调试的打印信息了,辣么骚年你已经离成功只有一部之遥了大笑。

创建一个驱动工程,WDK10提供的模板中根本没有提供NT驱动模板,我们如何创建NT驱动呢?

3、修改pe系统桌面背景:任何非pe内核的文件都需要先在“添加文件(夹)”里添加(提示:“添加驱动”针对软件所用驱动必须放入驱动目录的情况),所以先通过“添加文件(夹)”添加jpg后缀名或bmp后缀名的背景图片文件,然后通过系统设置选择该图片文件作为pe桌面背景即可,独品集成的pe定制数据的pe定制任务第四、五项就是pe桌面设置的。一般系统常规包含的模板有:主页模板、搜索模板、RSS、JS编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。方法二:在文件视图,右键工程,添加 cpp文件和h文件(----win7下右键工程添加文件没有反应---)。

建立工程后,首先会有两个工程,一个就是驱动工程,另外一个是package工程(这个是测试驱动安装的一个工程,对于我们来说其实没有什么用处,反正本人是没有使用过得,可以直接删除)。驱动工程中会帮你建立一个inf文件,nt是使用不到的,当然新一代的过滤驱动,例如 minifilter 是使用的,vs2013支持直接创建minifilter工程,所以如你建的是 nt驱动,这个可以直接删除,如不想删除,就需要在inf文件中填写一些信息,避免生成程序时报错,可以按以下模板填写:。该恶意文件为木马类,病毒运行后,动态加载系统dll文件"msvcrt.dll",该dll是标准的微软c运行库文件,创建线程、遍历进程查找"avp.exe"找到之后退出线程,如没发现"avp.exe"进程则提升进程操作权限,衍生病毒驱动文件到%system32\drivers\目录下,命名为"kvsys.sys"、"tesafe.sys",该驱动文件删除部分安全软件服务、终止部分安全软件进程、恢复ssdt躲避杀软主动查杀,创建病毒驱动设备名为:"\\.\kvsys"、"\\.\tesafe",删除本地"hosts"文件、并从新创建一个hosts文件,劫持大量域名地址,添加病毒注册表服务,衍生病毒文件"fsrtdfyyvuu.exe"到临时目录下,调用函数打开衍生的病毒文件,获取磁盘启动器类型,遍历目录查找所有后缀是exe的目录并却是非系统盘的可执行文件中释放大量"usp10.dll"文件,病毒运行完后后删除自身。

在文件中添加测试代码。

[cpp]

在CODE上查看代码片派生到我的代码片

#include<ntifs.h>

VOIDDriverUnload(PDRIVER_OBJECTobjDriver)

vs安装失败,原因是缺少_剑灵安装不了缺少分卷文件_vs安装失败,原因是缺少

{

//避免编译器关于未引用参数的警告

UNREFERENCED_PARAMETER(objDriver);

//什么也不做,只打印一行字符串

KdPrint(("MyDirverisEnding..."));

}

NTSTATUSDriverEntry(PDRIVER_OBJECTobjDriver,PUNICODE_STRINGstrRegPath)

{

//避免编译器关于未引用参数的警告

UNREFERENCED_PARAMETER(strRegPath);

//打印一行字符串,并注册驱动卸载函数,以便于驱动卸载

KdPrint(("MyDirverIsStarting!\r\n"));

objDriver->DriverUnload=DriverUnload;

returnSTATUS_SUCCESS;

}

编译,报错,没有关系,这些都是因为安全警告等级太高了,我们可以降低编译器警告等级的方式解决:

剑灵安装不了缺少分卷文件_vs安装失败,原因是缺少_vs安装失败,原因是缺少

执行编译,编译的时候选择Debug模式,X64的选项。编译成功后,按照上面的第五步进行基本测试可以。

不知不觉感觉已经写了好长了。。。。奋斗抽口烟压压精。好吧我不抽烟的。。。。。继续

如果上述的驱动成功编译出来了。辣么现在我们开始附加虚拟机的内核进行调试了。

首先把虚拟机的系统内核附加到VS2015,具体步骤见下图:

选中内核调试模式、选自己配置的那个电脑、选中下面列表中内核。见下图

点击附加,然后出现下图界面,点击一下全部中断。

然后系统就断下了,虚拟机的系统我们鼠标已经点不了,现在系统处于挂起状态了。见下图

现在我们可以到源代码中下断点了。我就随便下个断点了,见图:

然后我们在下面的Debugger Immediate Winddow窗口的 Kd> 一行输入命令 g 让系统运行起来。这样虚拟机中的系统又可以点击了。

最后一步了。使用我们刚刚建立的驱动工程编译出来的.sys驱动文件拷贝到虚拟机中。用第五步的工具进行安装、启动。启动的时候自动触发VS2015中的下的断点。至此可以像平时我们调试程序一样进行单步调试了。

注意事项:1、一定要拷贝Debug版本的进行调试。

windbg使用vs调试符号格式进行源码级别调试,可以通过pdb符号文件得到符号和变量,可以通过coff符号文件(.dbg文件)得到任何导出的函数名。源码级调试器[source-leveldebugger]这种调试器一般提供单步或多步调试、断点设置、内存检测、变量查看等功能,是嵌入式调试最根本有效的调试方法。使用tomcat插件的时候,会有个小bug,当我们打断点调试的时候,当程序到达断点,但是当我们查看源码的时候,发现原本的源码找不到啦,我们只需要在弹出来的小。

此时手机会显示“usb调试已启动”,豌豆荚弹出来占用super one click的usb连接,会自动为手机下载并安装usb驱动(去网上找手机的usb驱动是件麻烦的事情,而连接的正常与否直接关系到root的成败,安装后不要运行、电话本,手机与电脑的连接就建立好了,是一款功能较为完善的pc端手机管理软件,确认后软件进入驱动安装阶段vs安装失败,原因是缺少,依次在手机上选择主菜单-设置-应用程序-开发,却可以起到很好的辅助作用。= card->num_links),而return,即便出现了 后面一连串的代码失效,导致声卡驱动加载失败,经过反复的加入printk内核信息调试打印信息观察,原来问题是出在dma.c这个文件上,这个是platform:samsung-audio驱动,由于它未在内核里面注册,从而导致上面的list_for_each_entry(platform, &platform_list, list),由于在列表里找不到对应name的驱动,从而导致加载platform失败,最终发现,原来platform:samsung-audio驱动的注册,是需要在mach-ok6410里面的板级硬件初始化函数里面进行的,*ok6410_devices[] __initdata 里面需要添加&samsung_asoc_dma,而这个是在plat/devs.h里面申明过的,与&s3c64xx_device_ac97必须成对使用,这个完成后再在smdk_wm9713.c添加相关的初始化代码就行了,说了这么多废话,只是想和大家交流一下我的艰辛经历 ,呵呵 ,好了,这些是题外话了,当然了,在这里将调试经验也太扯了,呵呵。写到这里这篇总结就结束了,也许有很多写的不到位的地方,也有一些用词不严谨的地方,希望看到的读者可以和我一起交流,我也非常乐意我的总结可以给 刚刚学会编程需要调试的同学受用,再此之前我一直在寻找一篇从头到尾的调试教学文章,我一直没有找到,要么是一点点的片段讲解,要么是专讲js断点调试,所以索性后来就直接看了 chrome developer tools 的英文官方文档vs安装失败,原因是缺少,并结合自己的一些小使用心得总结出此文,希望受到指点和修正 也希望可以帮助一些同学。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-114935-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...