nicoster
驱动牛犊
驱动牛犊
  • 注册日期2005-04-07
  • 最后登录2008-11-18
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2323回复:3

今天小试了一下 softice 的源代码调试.

楼主#
更多 发布于:2005-06-24 00:26
.
.
接手了同事的一个驱动程序. 同事已经离职. 是公司内部使用的一块 isa 板卡.
在 p4 的机器上正常(当时是在 p4 的机器上开发的), 现在放到 p3 的机器上发现有问题了.
症状是安装驱动重起之后, 系统停在 win2000 进系统的滚动条的某个位置.
以前没有玩过驱动. 只是前一阵子心血来潮看了一点 DDK 的帮助文件.

首先进入 recovery console 把驱动对应的服务停了. 重起后进入了系统.
将 softice 设置成 boot 启动模式. 用 symbol loader 将 sys 翻译成 nms, 翻译之前有一个选项要选上. 好像是 package source with symbol table. 如图. 这样在翻译完成的时候, loader 会向你询问一些源文件的位置. 我想应该是我的 source seach path 没有设置好. 不过不管那么多. 再设置 softice initialization 中的 symbols, 添加刚刚翻译好的 nms 文件. 这样在 softice 加载的时候就会自动的加载这个 nms 文件了. 重新启用驱动的服务. 重起系统. 在提示进行 driverstudio boottime config 的时候按 ESC, 选择 Stop softice on load. 这样做的目的是让 softice 一加载就停下来. 回车继续. 过了一会儿. softice 如约而至. 先查看一下是否正确的加载了 nms 文件:

sym


列出了我的驱动里面的所有符号. 正常.
这个时候我的驱动还没有加载. 正好加断点:

bpx mydriver::driverentry
bpx mydriver::onstartdevice
bpx mydriver::isr


go!
等了一会儿就停在了我的 driverentry 里面. 一路 F10. 没有出现问题. 继续 go.
在 OnStartDevice 里面, 我发现了一个问题. 我一调用 KInterrupt::Connect(), 驱动立马就在
MyDriver::Isr() 断点了. 继续 go, 发现系统一直在调用我的 isr(). 实在是很奇怪. 正是因为系统一直调用这个 isr(), 导致了系统启动时挂起.

现在正为这个一筹莫展, 难道是板卡和主板的兼容性问题??


以上的一些 softice 设置步骤都是从 driverstudio 随机文档 using softice 里面看来的.
后来我又试了一下 softice 的双机调试. 很简单. 我用的是串口线连接.
先找一根交叉串口线, 将两台机器连接起来. 用超级终端测试一下看是不是连通了. 确认正确之后, 在 target 机器上, 设置 softice 使用 COM1, 波特率 115200, 重起. 同样设置 Stop softice on load. softice 加载停住之后. 在 host 机器上运行:

siremote com1 115200


立即就看到和 target 上同样的界面. 不过现在这个是在一个窗口当中. 然后, 就可以在 host 机器上用鼠标, 键盘来调试 target 机器了. 不过没有什么太大的用处. 只是尝个新鲜. 有空了打算试试 visual softice 的双机调试. 那个的界面就强大很多了.

就说这么多把. 语文从来都不好. 大家看着可能会有些累. 将就着吧.  

最新喜欢:

hxqw2000hxqw20...
china.chengyuan
驱动牛犊
驱动牛犊
  • 注册日期2008-12-16
  • 最后登录2009-04-08
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望121点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-01-15 16:31
谢谢共享
vfdff
驱动牛犊
驱动牛犊
  • 注册日期2009-01-16
  • 最后登录2009-03-24
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-01-16 10:05
softice 调试驱动程序用的 ??
cross_sky
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2012-09-07
  • 粉丝0
  • 关注0
  • 积分858分
  • 威望727点
  • 贡献值0点
  • 好评度77点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-03-03 21:41
你是在系统启动时就开始调试了,用的什么版本的softice
sky
游客

返回顶部