开始学windows内核或驱动编程注意事项

       1       vmware 添加虚拟串口:

    \\.pipe\com_1
     This end is the server
     The other end is an application

   2 在虚拟机XP系统的boot.ini中添加:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debug /debugport=com1 /baudrate=115200

   3  设置环境变量 _NT_SYMBOL_PATH

     值为srv*d:\mysymbols*http://msdl.microsoft.com/download/symbols

   4 在windbg.exe的快捷方式里的“目标”中的“...windbg.exe”后增加启动参数:

     windbg.exe -b -k com:port=\\.\pipe\com_1,baud=115200,pipe

    注意windbg.exe的全路径是在双引号里面的,而刚添加的命令行参数应该在引号外。

   5  但是按照 通常的步骤做下去之后,运行虚拟机中的xp系统后,再运行windbg,虽然windbg的启动参数都设置正确,但是在windbg的窗口里,显示 

Opened \\.\pipe\com_1
Waiting to reconnect...
最底部显示的: Debuggee not connected.

这是因为在Edit virtual machine settings里看下你那个串口是不是叫Serial port 2,如果是,问题就在这里,就是多了那个2。

关闭虚拟的xp系统,把这个串口删掉,然后把那个printer也删掉,然后重新添加一个串口就可以了,这个时候串口就叫Serial port了。然后就可以正常连接了

    6 编译一个常见的first.c的演示驱动

        在这里会遇到一个问题是。出现编译错误:WDK cannot open include file ntddk.h 问题解决

           这是因为与first.c同一文件夹的

        sources文件缺少INCLUDES指令

        第一行加上:INCLUDES=$(WDMROOT);$(DDK_INC_PATH) 即可编译通过。

    7 将编译好的first.sys用srvinstw.exe安装至虚拟机xp里

      运行前需要给主机的windbg添加上first.sys的符号文件路径。

      然后打开虚拟xp的命令行工具,输入net start first。 观察主机windbg的输出显示

      然后再输入net stop first。观察主机windbg的输出显示。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值