Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:3255回复:17

请问版主关于SoftICE调试一问

楼主#
更多 发布于:2001-10-09 12:57
请问版主,我用DDK写了一个VXD驱动程序,现在用SoftICE调试它,在我用nmsym.exe将之转换成.nms文件时,它提示说"No Debug Information found",请问这是怎么回事,如何解决?谢谢!!!

最新喜欢:

leeooleeoo icesbirdicesbi...
Tom_lyd
Qfwfq
驱动牛犊
驱动牛犊
  • 注册日期2001-04-06
  • 最后登录2002-06-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-10-09 12:59
你用了free方式编译吧

改成checked方式编译就可以了
daor
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分-25分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-10-09 13:18
要么是你在启动windows之前没运行winice
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-10-09 14:53
不要用ddk本身自带的checked build environment.
1.生成一个ddk.bat文件,里面指定vc.ddk的BIN\INCLUDE\LIB的path
2.运行command /e:8192
3.运行ddk.bat文件。
4.运行nmake 即可。
5.cl的编译指定 -Zi
6.ml的编译指定 -Zi
7.link的连接指定 -debug:full -debugtype:cv.

Buddha
驱动老牛
驱动老牛
  • 注册日期2001-04-29
  • 最后登录2013-05-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望17点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-10-12 16:22
dazzy,ddk本身自带的checked build environment有问题么?
我就是用那个编译呀,可以产生调试信息的呀
<table style="filter: glow(color=sky blue, strength=10)"> <font color=white> 猫生病了, 老鼠大声朗诵诗集, 并修剪盆花. 猫生病了, 老鼠慢慢刷牙洗脸, 并打扫房间. 猫生病了, 老鼠倚在窗边欣赏夜色, 并对流星许愿. 猫生病了, 老鼠也病了, 它说:"我还是习惯那种时时紧张, 处处小心, 夜夜逃亡的生活." 午夜, 我听到老鼠在叹息, 且不再读诗了. </font></table>
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-10-13 15:27
你好,在这个测试VXD中,编译的时候我使用的完全是命令行式的,没有使用mak文件,编译连接命令我是这样写的:
ml /c /coff /Cx /DMASM6 /DBLD_COFF /DDEBUG /Zi vxdname.asm
link /debug:full /def:vxdname.def /vxd vxdname.obj
之后可以后成 .VXD驱动程序,但是用SoftICE的LoadSymbol工具时,依然提示说No debug information found,是否是必须用.mak文件的方式编译 ???
Tom_lyd
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-10-13 15:29
Qfwfq:
     因为我想看到调试信息,我用的是Checked enviroment,而不是free build enviroment,我想错误应在别处!
Tom_lyd
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-10-14 17:50
会不会跟源程序自身有关??
Tom_lyd
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-10-15 13:31
98ddk和meddk的checked build环境产生的vxd是不带调试信息的(即使指定了-zi编译选项和-debug:full -debugtype:cv连接选项)。
 这样的简单98ddkenv.bat文件为:
@echo off
set BASEDIR=F:\WinDDK\98DDK
set MSVCDIR=F:\progra~1\Micros~1

set Path=%MSVCDIR%\common\msdev98\Bin;%MSVCDIR%\VC98\Bin;%BASEDIR%\Bin;%BASEDIR%\Bin\win98;%Path%
set Include=%MSVCDIR%\VC98\Include;%BASEDIR%\inc;%BASEDIR%\inc\win98;%Include%
set Lib=%MSVCDIR%\VC98\Lib;%BASEDIR%\lib\i386\free;%Lib%

运行了command /e:8192后运行98ddkenv.bat,然后编译连接
用命令行或nmake都可以
checked build 和free build我认为只对build.exe 程序有用。
试一试就知道了.
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-10-15 15:00
     I tried what you told me,but it remains ,I compiled and linked it under command line mode instead of using .mak file,but thank you in any case.
     In my source file,I only implemented two messages,they
are Create_VM and Destroy_VM.So I want to know if the porblem occures in my source fiel .
     Sorry to trouble you again,but 20' is yours now in any
case !!!
Tom_lyd
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-10-15 16:21
这与源文件无关,刚才我也试了一下命令行, 也很好用。照样能产生调试信息。98ddkenv.bat中的ddk/vc路径应设为你的路径。
fdyjfd
驱动牛犊
驱动牛犊
  • 注册日期2001-04-30
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望100点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-10-16 20:05
我也有相同的问题,版主,我用了你的bat文件,可编出的vxd
用softice load时 仍然 no debug info....
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-10-17 08:43
你可以试一试将98ddk下的例子(cvxd32.vwfd等等)的makefile修改一下,加上编译连接的调试选项(-Zi(编译) -debug:full -debugtype:cv(连接))然后试一试,运行了bat文件后,编译后肯定有调试信息。
[dazzy 编辑于 2001-10-17 08:45]
[dazzy 编辑于 2001-10-17 08:45]
daor
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分-25分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2001-10-22 16:36
先问tom以前是否使用过soft-ice?
我怀疑winice根本没有运行,或者没有在windows启动前
运行!(可能在安装soft-ice时你没允许安全程序写autoexec.bat)
直接运行loader进行调试就出这个error。
按一下ctrl+d看是否弹出softice窗口?
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2001-10-22 19:52
不是,我的SoftICE是有Autoexec.bat里面自动加载的,每次在Windows加载以前就被加载,所以肯定不是这个原因。现在如果不是源程序的原因的话,则就肯定是设置方面的问题或者编译连接时选项的问题。因为相同的程序用Vtoolsd写则一点问题都没有,能顺利地产生.nms文件。
Tom_lyd
fdyjfd
驱动牛犊
驱动牛犊
  • 注册日期2001-04-30
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望100点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2001-10-22 20:16
ok,我已解决此问题

to tom_lyd :
除了使用dazzy的bat文件外还要注意两点,
1. link程序只能用VC的,不要用DDK的
2. link时要产生.pdb文件, 即不要设置 -pdb:none 选项
Nouk
驱动中牛
驱动中牛
  • 注册日期2001-08-22
  • 最后登录2006-10-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2001-10-23 10:57
I cant's use "nmsym /trans DRIVERNAME.pdr"
but I can use "nmsym DRIVERNAME.sym" to generater .nms file.
How I to debug my VxD???

thx
Taiwan's Driver Developer
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2001-10-23 11:13
谢谢,根据你和各位朋友的指点与帮助,我已经成功地解决了这个问题,再次表示感谢,同时希望以后能继续得到各位朋友的帮助 !!!
Tom_lyd
游客

返回顶部