阅读:1403回复:5
VxD的调试信息????
我make了98ddk中的一个例子
\\src\\base\\cvxd32 一切正常 产生了一个.sym文件 然后我用Numega的symbol loader打开这个sym文件, Translate、Load Ctrl+D进Soft-ICE 为什么我敲file *之后一个源文件都看不到阿? 反汇编sym中的那些proc出来的也全是汇编码 我仔细的看了makefile,应该是有调试信息的 ========================================================== 希望高手指点,谢谢! |
|
|
沙发#
发布于:2002-11-27 17:57
附上我的makefile:
======================================================= BUILD_TYPE=base !INCLUDE $(BASEDIR)\\inc\\master.mk CFLAGS = -DWIN32 -DCON -Di386 -D_X86_ -D_NTWIN -W3 -Gs -D_DEBUG -Zi -I$(INC32) CVXDFLAGS = -Zdp -Gs -c -DIS_32 -Zl -DDEBLEVEL=1 -DDEBUG -I$(INC32) -Zi LFLAGS = -machine:i386 -debug:notmapped,full -debugtype:cv -subsystem:console kernel32.lib AFLAGS = -Zi -coff -DBLD_COFF -DIS_32 -W2 -Zd -c -Cx -DMASM6 -DDEBLEVEL=1 -DDEBUG -I$(INC32) all: obj\\i386\\con_samp.exe obj\\i386\\cvxdsamp.vxd obj\\i386\\cvxdsamp.obj: cvxdsamp.c cl $(CVXDFLAGS) -Fo$@ %s obj\\i386\\cvxdctrl.obj: cvxdctrl.asm ml $(AFLAGS) -Fo$@ %s obj\\i386\\vkdgko.obj: vkdgko.asm ml -Zi -coff -I$(INC32) -DBLD_COFF -W2 -c -Cx -DMASM6 -DSEGNUM=1 -Fo$@ %s obj\\i386\\cvxdsamp.vxd: obj\\i386\\cvxdsamp.obj obj\\i386\\cvxdctrl.obj obj\\i386\\vkdgko.obj \\ cvxdsamp.def echo >NUL @<<cvxdsamp.crf -MACHINE:i386 -DEBUG -DEBUGTYPE:CV -PDB:NONE -ignore:4078 -ignore:4039 -DEF:cvxdsamp.def -OUT:obj\\i386\\cvxdsamp.vxd -MAP:obj\\i386\\cvxdsamp.map -LIBPATH:$(LIB32) -VXD $(BASEDIR)\\lib\\i386\\free\\vxdwraps.clb obj\\i386\\cvxdsamp.obj obj\\i386\\cvxdctrl.obj obj\\i386\\vkdgko.obj << !ifndef PASS0ONLY @echo link -OUT:$@ link @cvxdsamp.crf cd obj\\i386 mapsym cvxdsamp cd ..\\.. !endif obj\\i386\\con_samp.obj: con_samp.c cl $(CFLAGS) -c -Fo$@ %s obj\\i386\\con_samp.exe: obj\\i386\\con_samp.obj echo >NUL @<<con_samp.crf $(LFLAGS) -PDB:NONE -OUT:obj\\i386\\con_samp.exe -MAP:obj\\i386\\con_samp.map obj\\i386\\con_samp.obj << !ifndef PASS0ONLY @echo link -OUT:$@ link @con_samp.crf !endif clean: -@if exist obj\\i386\\*.obj del obj\\i386\\*.obj -@if exist obj\\i386\\*.vxd del obj\\i386\\*.vxd -@if exist obj\\i386\\*.exe del obj\\i386\\*.exe -@if exist obj\\i386\\*.exp del obj\\i386\\*.exp -@if exist obj\\i386\\*.map del obj\\i386\\*.map -@if exist obj\\i386\\*.sym del obj\\i386\\*.sym -@if exist obj\\i386\\*.lib del obj\\i386\\*.lib -@if exist *.pdb del *.pdb -@if exist *.bak del *.bak |
|
|
板凳#
发布于:2002-11-28 08:32
你是用checked编译的吗?
|
|
|
地板#
发布于:2002-11-28 10:03
是的
Checked Build Environment |
|
|
地下室#
发布于:2002-11-28 14:13
问题解决了,我用Symbol loader打开我的驱动而不是sym文件就能看到源码了
等下面这个问题解决之后会给Ares10分,谢谢你的关注 另外一个问题: 在98中添加新硬件完成后有的会提示重启,有的可以直接工作(比如walter oney的ramdisk).这两种驱动有什么区别? 应该不是静态vxd和动态vxd的区别 因为我的驱动也是动态的,但装完就会提示我重启.这是为什么? |
|
|
5楼#
发布于:2002-11-28 14:40
另外还有个问题
我按照它的提示重启了,希望能够在启动的期间进行调试,但是在Control_Dispatch过程中下断点就断不下来,这说明了什么问题? 在Control_Dispatch之前是不是只有DECLARE_VIRTUAL_DEVICE?? 这说明我声明设备就失败了吗? Soft-ICE的设置并没有错,我在Initialization Setting里面载入了我的.nms,并且下了断点.这两步很正常的 |
|
|