阅读:1797回复:7
PlatformBuilder调试时怎么抓不住断点?而且断点全乱了。(20分答谢)----分数已给
我用PlatformBuilder4.10(Emulation版)定制了一个CE平台,又开发了自己的网卡的驱动程序。在PlatformBuilder下,我先在网卡驱动程里面设好断点,再Download/Initialize,断点是抓住了,可是全乱了,比如说根本抓不到DriverEntry这个断点,而抓住了不可能出现的MiniportSendPackets断点,而且有的地方的断点跑掉了,竟然跑到注释区去了。按道理我的网卡驱动程序不会被加载,因为我的网卡还没插到机器里面去呢。为什么会出现断点全乱掉了的情况呢?
[编辑 - 3/13/03 by silan] |
|
|
沙发#
发布于:2003-03-11 17:18
你是用_asm int 3断的吗?
|
|
板凳#
发布于:2003-03-11 18:44
不是,我是在PlatformBuilder里面Debug->break,然后按F9设断。断点是设上了,可感觉全部偏掉了,因为抓到的断点全不是那回事,表面上看上去是在我的驱动程序代码中停下来了,可事实上应该运行在其它程序段中,也就是说,实际运行到的地方和调试器中显示运行的地方不一致。
|
|
|
地板#
发布于:2003-03-12 09:28
你用_asm int 3 试试,应该能断住。
|
|
地下室#
发布于:2003-03-12 17:45
我用PlatformBuilder4.10(Emulation版)定制了一个CE平台,又开发了自己的网卡的驱动程序。在PlatformBuilder下,我先在网卡驱动程里面设好断点,再Download/Initialize,断点是抓住了,可是全乱了,比如说根本抓不到DriverEntry这个断点,而抓住了不可能出现的MiniportSendPackets断点,而且有的地方的断点跑掉了,竟然跑到注释区去了。按道理我的网卡驱动程序不会被加载,因为我的网卡还没插到机器里面去呢。为什么会出现断点全乱掉了的情况呢? 网卡没在,但是“驱动本身”可以加载,运行的呀。(只是不成功) 但是DriverEntry可以进入的。 至于不对应的问题,是否因为符号表不对应,在里面运行的与调试的不一致。(在softice是很常见的) wince下偶不懂,没碰过。 我只是乱曰一通,silan兄不要见怪。 :D |
|
|
5楼#
发布于:2003-03-13 09:56
magicx你说的很有道理,以前我用softice for DOS的时候,汇编程序中只要有include,符号表就不能正确对应了。
|
|
|
6楼#
发布于:2003-04-09 14:45
兄弟,我也遇到过此类问题,原因是你用release版的驱动在调试,你把驱动生成debug版本的就可以了
|
|
7楼#
发布于:2003-07-25 13:36
我也遇到过同样的问题,是在Debug下出现的。后来我把Disassembly窗口打开好象就好了,当然此时就进入汇编语言中了。
|
|