• 驱动调试配置


        驱动现在已经是满大街了,其实驱动也不是什么,一样是调用API.只不过一个调用r3层API,一个调用的是r0层API,所谓不同的就是,ring3下的程序出现错误最多是关闭本进程,而驱动也就是ring0的程序出现错误,会导致电脑蓝屏,就是这么个区别,导致很多人认为驱动很难,其实做好驱动调试的配置,也就没什么了.

      

        驱动调试配置,首先调试器,我们选择windbg,而系统,我们用VMware虚拟机装一个XPSP3系统.

       (JV695-DR0D3-LZUC0-H8852-CAWJ4 vm9.01序列号 , DG8FV-B9TKY-FRT9J-6CRCC-XPQ4G xpsp3 序列号)

        装好虚拟机后,我们装一个XPSP3,然后增加一个串口,用windbg通过串口调试xpsp3.增加串口的办法,如下图:

    1.点ADD(增加)

    2.选择serial port.这个是增加一个串口
     
     
     
     
     

    3.选择第三项output to named pipe(英文烂 不清楚是什么意思,反正选择这里就行了)

     

    4.把第三栏的选择改成第二项,the other end is an application 然后点Finish,完成

    完成后,启动虚拟机的windows,然后在c盘找到boot文件(可能隐藏了,修改文件夹选项,改为全部显示),增加

    multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debugport=COM2 /baudrate=115200
     
    这里表示增加调试启动项目.(注意,我这里串口显示是serial port2,所以这里是debugport=COM2,如果串口显示是serial port,这里就应该改为debugport=COM1,如果串口显示是serial port3,这里就应该改为debugport=COM3).
     
     
     
    虚拟机设置完毕,然后设置windbg.下载好了windbg,然后发送到桌面快截方式,然后在目标后面空一格,增加这一句
    -y SRV*D:symbol*http://msdl.microsoft.com/download/symbols -b -k com:pipe,port=\.pipecom_1,baud=115200,pipe
    (说明:D:symbol,这里表示符号表存放的位置,windbg首次加载调试,需要从微软下载符号表存放在本地目录中,\.pipecom_1对应上图use named pipe)
    点确定.
     
    然后启动调试,出现如下图所视,则为创建调试环境成功
  • 相关阅读:
    MySQL百万级、千万级数据多表关联SQL语句调优
    不就是SELECT COUNT语句吗,居然有这么多学问
    分布式锁讲解
    Java 中堆和栈的区别
    Java中的回调机制
    在Eclipse上Maven环境配置使用
    项目忽然出现 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 解决方法
    HttpServletResponse
    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
    深入浅出java常量池
  • 原文地址:https://www.cnblogs.com/qq32175822/p/3503785.html
Copyright © 2020-2023  润新知