一.安装Windows Driver Kit 8
1首先在计算机上安装VS2012 (12很容易安装,安装步骤略),然后到官网上下载Windows Driver Kit 8 下载地址:
http://msdn.microsoft.com/zh-cn/windows/hardware/hh852362/

下载完毕点击 进行安装。安装模式有两种,一种是在线直接安装,一种是下载安装包到本地,之后再进行安装
(如果网速够快建议直接在线安装。下载安装包安装,会多一步操作,由于刚开始不知道那一步操作,运行2012报一个错误,也无法进行调试设置,所以搞得我头大了好几天!!!)
1.  在线安装,直接默认路径即可,安装完应该没有问题的,本人没试过。
2.  说下下载安装包安装吧:下载完全部文件307M,打开文件夹点击其中的 文件安装,一路OK,最后点击finish完成安装。安装完别急着打开2012,再次点 这次选择在线安装,过程中会有两个选项,一个yes...,一个no,我选了yes,具体什么意思,不清楚,嘿嘿。然后next,进度条很快读完。到此Windows
Driver Kit 8就已经安装成功了,这时打开2012,会发现新建项目中多了一些Driver项目,菜单栏上也多出了一个菜单选项DRIVER。
二 驱动项目与虚拟机com串口联机调设置
  怎样在2012下直接生成DDK驱动项目我目前还没搞出来,不过可以通过2012把我们写的驱动加载转换成2012可以运行的项目
  就让我们用最简单的Hello级DDK驱动演示下吧,写好Hello.c  makefile和sources文件。
然后运行2012

选择 文件打开Convert Sources/Dirs...
找到驱动所在的文件夹,选中sources文件 

这时2012就会对我们的驱动项目进行自动转换了,转换完成后还会弹出对话框询问你是否查看有关转换细节的记录,这里随意。

然后在上边工具栏中

选中驱动程序所要运行的系统环境,可惜,不支持XP系统平台!!!
按F7快捷键编译连接即可生成我们想要的.sys文件了。另编译Vista以上版本系统平台驱动文件时makefile文件是可有可无的,没有此文件编译器会自动为我们加上相关定义!(Starting
with the Windows Driver Kit (WDK) for Windows Vista, it is no longer required for the Makefile file to be in every project. By default, the Build utility includes the Makefile.def if the Makefile file is not found in the project. Any custom tasks that are
required in a project should be moved to Makefile.inc as appropriate.)


驱动文件生成完成,现在开始进行虚拟机连接设置:

点击菜单选项 DRIVERTestConfigure
Computers

点击“Add New Computer”

在Computer name:中输入你真实的计算机的名字(不是虚拟机中计算机的名字)
下边三个选项选择最后一项”Manually configure
debuggers and...”,手动配置调试

按上图配置即可,Connection Type选为Serial
(串口)
(波特率)Baud Rate 115200 
(管道)Pipe勾选
(重连接)Reconnect勾选
(管道名)Pipe name  \\.\pipe\com_1
这几个选项根据你虚拟机设置来设置
最后点击完成。

打开虚拟机进入系统后(调试模式)(按我以前的步骤是先在虚拟机中运行驱动,然后附加下断点,会导致2012卡死掉,后来摸索发现在没有加载驱动之前就让2012把系统断一下,这样就连接成功了!驱动运行之前设置断点也会成功!)

再在vs2012中选择菜单栏中的  工具附加到进程


传输:Windows Kernel Mode Debugger
限定符:就是我们添加的计算机名

点击附加 2012会自动进入调试状态,
此时显示Waiting to reconnect...;

 把虚拟机断下,这时在源代码中就可以下断点了!完成断点设置输入g命令或F5,让虚拟机走起。当你运行虚拟机中驱动程序到相应代码位置就是会被2012断下。(经过这几天摸索,2012不用关闭重新打开也是可以地!)

把我们生成的hello.sys

文件放到虚拟机中,用INSTDRV工具安装启动





在2012中驱动项目的符号文件是不用特殊指定的,编译器会自动找到符号文件所在位置。

系统符号我知道的其中一个方法是用命令的形式来加载或下载符号文件
如果系统中没有单独安装符号文件,在Debugger Immediate Windows窗口中输入命令
.sympath srv*c:\MyServerSymbols*http://msdl.microsoft.com/download/symbols
*c:\MyServerSymbols*之间的路径就是你要保存的符号文件的路径

如果你已经下载并单独安装了符号文件可以用如下形式的命令来指定:
.sympath c:\MyRegularSymbols 回车后显示
 
我们再   .reaload一下(重新加载符号文件)

哈哈,这里输入命令还有智能提示哦!

部分符号文件没有找到也属于正常情况,指定目录下没有这些驱动的符号文件!可以指定到官方网站去下载符号文件
.sympath srv*c:\MyServerSymbols*[url=http://msdl.microsoft.com/download/symbols]http://msdl.microsoft.com/download/symbols

以上设置均参考自:Debugging Help.    (WDK8安装后会有相关文档)

目前我电脑的配置是I5-3210M,内存2G自己又加了一根4G,显卡GT630M1G显存!宏基的一款E1-471G。淘宝上买3270,自己又换了个二手64G固态硬盘用来做系统盘。总共加起也就3600左右吧!试验了下,用固态比直接用机械硬盘速度真是要快很多!!!  笔记本64位Win7;虚拟机32位Win7分配了一处理器,1G内存;
用2012调表示没压力 CPU利用率36%,内存2.7G使用中,1.1G可用[/SIZE]

vs2012(或2013)与虚拟机连调试的更多相关文章

  1. VS2012、2013使用Mysql数据库创建EF的AOD.NET实体模型

    VS2012.2013使用Mysql数据库创建EF的AOD.NET实体模型: 1.关闭VS,首先安装mysql-connector-net-6.8.3.(安装后EF创建实体模型时就可以找到Mysql的 ...

  2. Visual Studio 2013 如何在停止调试Web程序后阻止IIS Express关闭

    vs2013 调试项目的时候,当停止调试的时候,端口就被断了.之前以为是IIS那边的控制问题,但是其他并行的项目运行都没有出现这种情况. 最初也没在意,直到现在实在忍受不了了,每次重开也太烦了.就去各 ...

  3. 在VS2012/2013上编辑和调试Quick-cocos2d-x的Lua代码

    类似教程链接:http://www.cocoachina.com/bbs/read.php?tid=205043 步骤: 一.Quick-cocos2d-x 最新版本或要打算使用的版本 (http:/ ...

  4. 使用VS插件在VS2012/2013上编辑和调试Quick-Cocos2d-x的Lua代码

    vs 也能够做lua 开发,并进行代码调试 依照以下文档,调试没问题. 參考文档: 点击打开链接

  5. vs2012使用64位IIS EXPRESS调试

    使用Visual Studio 2012开发网站或web应用程序时,可以使用两种web server.自带的development server和IIS EXPRESS.development ser ...

  6. Visual Studio 2013 IIS Explorer 停止调试继续访问站点

    升级到2013后,在做调试的时候默认调试服务器是 IIS Explorer,当终止调试的时候再次访问调试站点时已经无法访问了.此时想预览一下感觉很不方便. 为了能够预览可以参考一下配置: Tools  ...

  7. hotspot虚拟机的调试

    3这篇文章,怎么说呢.是踩了很多坑得出来了,也是在自己快要崩溃的时候得出来了的. 连续踩了差不多10来个小时的坑,还好是出来了. 这篇文章是调试虚拟机的,其实网上也能找到一些文章,但是每个人的环境不一 ...

  8. 20175215 2018-2019-2 第一周Linux虚拟机环境调试及java程序调试学习总结

    一.Linux虚拟机的java环境调试 之前直接在终端中使用export直接配置java的运行环境,导致每次终端被重启的时候都要重新配置java的运行环境,直到看到老师的博客Intellj IDEA ...

  9. centos 虚拟机安装调试

    service network restart reboot yum update -y cd /etccd sysconfigcd network-scripts[root@u0mo5 networ ...

随机推荐

  1. Oracle数据库自带了decode()函数

    Oracle数据库自带了decode()函数,函数的使用方法如下:   SELECT   emp.ename,   emp.job,   emp.sal,   decode(job, 'manager ...

  2. springboot打war包上传到阿里云的Linux服务器

    下面的每一步应该都必不可少: 1.启动类 继承这个类,并且重新configure这个方法,return builder.sources(Code007Application.class); 2.pom ...

  3. 使用 MYSQLBINLOG 来恢复数据

    使用 MYSQLBINLOG 来恢复数据 2009-04-05 12:47:05 标签:mysql mysqlbinlog 恢复 数据库 数据 原创作品,允许转载,转载时请务必以超链接形式标明文章 原 ...

  4. JSP上传图片程序

    1.下载相应的组件的最新版本 Commons FileUpload 可以在http://jakarta.apache.org/commons/fileupload/下载 附加的Commons IO   ...

  5. 动态指定日志路径(logback)

    实现日志上下文监听,添加路径变量 package com.x.x.x.listener; import ch.qos.logback.classic.Level; import ch.qos.logb ...

  6. OTF格式

    OTF, OpenType 字体文件. OpenType也叫Type 2字体,是由Microsoft和Adobe公司开发的另外一种字体格式.它也是一种轮廓字体,比TrueType更为强大,最明显的一个 ...

  7. linux下解决git clone太慢

    此教程同样也适用与vscode下载太慢的问题 git和vscode会自动使用http_proxy,https_proxy环境变量的代理,所以我们只需要设置这个环境变量即可 前提 需要一个可用的代理,这 ...

  8. mongdb 4.x admin密码忘记,如何 重建admin用户

    在mongo db中,或mongo db cluser中,如果admin密码忘记了,必须按下面的步骤来做.思路为注释掉security认证部分,重启mongo server, 重建admin用户,再打 ...

  9. 关于AlertDialog多选框中全选和反选的实现办法

    package mobile.android.ch07.multi.choice.dialog; import android.app.Activity; import android.app.Ale ...

  10. 057、Java中break的用法

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...