首页>
知识库>
详情

浅谈wince驱动调试方法

2020-06-30 来源:CloudBest 阅读量: 6
关键词:

    以前,我调试驱动都是打包,下载,很郁闷,一个小小的DLL都要这么费神,对微软极为不满,现在发现驱动调试有一些诀窍,特来和大家分享,如果你有更好的方法,就来和大家分享吧。

    之所以说“浅谈”,是因为我自己也搞得模模糊糊的,问过很多人,大家一致认为有三种调试方法:

    一、使用应用程序动态加载驱动——优点是不用下载打包NK,可以在正常情况下看到驱动的运行情况;缺点是只能调试流驱动。在这方面有个专家做的很好,发布了驱动调试助手http://www.cnblogs.com/we-hjb/archive/2009/02/14/1250838.html#1451120——在这里就不多说了,看原版才是好的。

    二、KITL。这个东西我用过,觉得调试那些不能启动的严重BUG很有用。下面适合一个朋友的谈话,很清晰了。

    三、神秘武器……什么都不用!

    加密助手 说:

    --- 系统提示: 以下会话未被加密 ---

    CSDN-Ricky_hu北京 说:

    做过

    CSDN-Ricky_hu北京 说:

    这就是动态调试驱动,经常这样做

    wogoyixikexie@gliet 说:

    这个方法我很想学,你能不能教教我

    wogoyixikexie@gliet 说:

    整天烧写,太郁闷了

    CSDN-Ricky_hu北京 说:

    谈不上教, 很容易的

    wogoyixikexie@gliet 说:

    我都不知道怎么操作

    CSDN-Ricky_hu北京 说:

    你烧写一次,然后用pb通过kitl下载,在这个target->release dir module->add module里面添加你要调试的驱动就ok了

    CSDN-Ricky_hu北京 说:

    这个就是kitl的主要功能

    wogoyixikexie@gliet 说:

    这样加载上去也没有什么意思啊。因为KITL只能往前加载,不能往后加载的

    CSDN-Ricky_hu北京 说:

    你说的往后加载是什么意思?

    wogoyixikexie@gliet 说:

    就是比如我加载过一个驱动以后,不能再回来设置断点再次执行了

    wogoyixikexie@gliet 说:

    同一个驱动不能执行两次的吧

    CSDN-Ricky_hu北京 说:

    再回来设置断点就重新连接kitl啊

    wogoyixikexie@gliet 说:

    KITL,我的还有点问题,我只会使用一点点

    CSDN-Ricky_hu北京 说:

    在eboot里面配置好了就ok了

    wogoyixikexie@gliet 说:

    你的意思是说,在这个target->release dir module->add module里面添加你要调试的驱动,然后要重新连接KITL?

    CSDN-Ricky_hu北京 说:

    你要调试那个驱动就把它添加到target->release dir module->add module这里面,然后连接kitl调试,发现问题,修改后直接编译这个驱动,然后再重新连接kitl继续调试,再发现问题,再修改,再连kitl调试

    wogoyixikexie@gliet 说:

    哦,这也是个方法

    wogoyixikexie@gliet 说:

    这个方法很强大,可以调试本机驱动

    wogoyixikexie@gliet 说:

    使用应用程序只能调试流驱动

    CSDN-Ricky_hu北京 说:

    这是pb中kitl的基本调试方法,功能很强大,能打印很多调试信息

    CSDN-Ricky_hu北京 说:

    应用程序调试的只是接口,驱动内部的还是不能够调试

    wogoyixikexie@gliet 说:

    不过缺点是注册表修改之后就要重新下载内核才行

    CSDN-Ricky_hu北京 说:

    嗯,对,这个对于注册表以及kernel级别的修改要重新下载nk

    wogoyixikexie@gliet 说:

    还有一般要编译成debug版本的驱动才行,整个NK编译成debug版本会非常大。哈哈,原以为是不用KITL就可以加载的。厉害

    CSDN-Ricky_hu北京 说:

    不一定非得编译成debug版本的驱动啊,release版本的也可以通过kitl调试,而且调试信息也很丰富的

    wogoyixikexie@gliet 说:

    你用什么芯片?