smallcat0008
驱动牛犊
驱动牛犊
  • 注册日期2004-08-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分504分
  • 威望62点
  • 贡献值0点
  • 好评度38点
  • 原创分0分
  • 专家分0分
阅读:939回复:7

“论坛大老”和其他高手请帮忙回答一个前面的问题?

楼主#
更多 发布于:2004-09-20 08:59
softice怎样可以编译源代码?好像在单步执行时全是汇编形式的?
即使用file ***.c 和file.h打开源代码,但是单步执行是仍回到汇编形式,.exe是可以跟踪源代码的.我用Symbol Loader加载的是VXD或着是sym符号,可就是单步跟踪时看不到源代码。我已经搞了一个星期了。是在是搞不懂。请你们在百忙中指点一下。
到底怎样才可以在softice环境下单步跟踪源代码呀?
knight_temp
驱动牛犊
驱动牛犊
  • 注册日期2002-07-30
  • 最后登录2011-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望13点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-20 09:14
你要跟踪的文件你有源代码吗?还有,你确定你跟踪的文件是可调试版的吗?
smallcat0008
驱动牛犊
驱动牛犊
  • 注册日期2004-08-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分504分
  • 威望62点
  • 贡献值0点
  • 好评度38点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-20 09:28
我有源代码,但怎样确定跟踪的文件是可调试版的呢?请指教
knight_temp
驱动牛犊
驱动牛犊
  • 注册日期2002-07-30
  • 最后登录2011-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望13点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-20 09:42
EXE文件当然是DEBUG版,驱动的话不要是Free版的,你在编译的
时候编译器会生成调试文件的,如果没有调试信息文件也是不不能
调试的,所以你的源代码最好再重新编译一下。
smallcat0008
驱动牛犊
驱动牛犊
  • 注册日期2004-08-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分504分
  • 威望62点
  • 贡献值0点
  • 好评度38点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-20 09:48
首先感谢你的指点,现在我确定是调试版的。可还是单步跟踪时不是源代码,都是一些汇编代码。是不是单步跟踪时根本就是汇编,还是我的配置有问题,我的驱动是vxd,我在win98/2000都试过,都是汇编跟踪的,不知是什么原因?你能再给我一点指点吗?谢谢
knight_temp
驱动牛犊
驱动牛犊
  • 注册日期2002-07-30
  • 最后登录2011-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望13点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-20 11:33
我想知道你是怎么设置断点的?
你确信你看到的汇编码是你的代码吗?
smallcat0008
驱动牛犊
驱动牛犊
  • 注册日期2004-08-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分504分
  • 威望62点
  • 贡献值0点
  • 好评度38点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-09-20 14:17
我是用file xxx.c显示源代码,然后在其中用f9设置断点的。还有我用f7运行到光标所在的地方时,也回出问题,会向ctrl+d一样回到windows界面,不知道为何?还有你讲的是不是我的原代码的汇编,不怕你笑话,我还真搞不懂。请你指点。如果你愿意我们用qq交谈或其他的更快一点的交谈好吗?我的qq:419978957
knight_temp
驱动牛犊
驱动牛犊
  • 注册日期2002-07-30
  • 最后登录2011-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望13点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-09-22 09:31
你设置断点是对的,但是一般情况下你应该先关闭SOFTICE窗口,
回到WINDOWS界面,运行你的其他程序激活你设置断点的代码运行,
只要运行到你在SOFTICE中设置断点的代码SOFTICE会自动弹出,
这时候你就可以用F10来单步运行了。当你的SOFTICE自动弹出并且
停止在你设置断点的代码行时你可以使用F7使你的程序运行到下
一个你设置的断点处。你不可以直接启动SOFTICE然后用F7来期望
运行到你的断点,因为你的代码不可能是无条件就触发运行的,
除非是时间中断。所以你设置了断点后就关闭SOFTICE,然后你要
做的就是使你的程序运行,到断点处SOFTICE会自动跟踪到,并且
显示出调试界面。

[编辑 -  9/22/04 by  knight_temp]
游客

返回顶部