阅读:1255回复:14
帮忙回答一下问题(50)!
我用softice 调imd
加了一行int ab=80; 然后,再ab=ab+1; DbgPrint(\"%d\",ab) 但watch ab时,都为0xab。不管怎样我变化ab的值; 而且,DbgPrint根本不打印。 F10时,ab=ab+1根本不执行。 且,ab=ab+1处不能设断点。 不知为什么?请大家帮忙。 |
|
最新喜欢:![]()
|
沙发#
发布于:2002-06-12 11:40
ab在SOFTICE中被当作地址来解释,而没有当作变量。你不能使用它来作你的程序中的变量,否则不能正确执行。
类似的情况还有: [1]寄存器变量: ah,al,ch,cl,bh,bl等等。 [2].地址类: 凡32位地址型的字符都不能作为变量用,否则都不能正确执行。 如: a,ab,abc,abcd,abcde,abcdef等等,都被SOFTICE解释为地址值。 abcdefg却是正确的变量,不信你试试。 |
|
|
板凳#
发布于:2002-06-12 11:45
Tom_lyd
真是高人啊! :) |
|
|
地板#
发布于:2002-06-12 11:55
可别这么说,我也是在前不久碰到相同的问题,最后摸出来的。:)
|
|
|
地下室#
发布于:2002-06-12 11:56
ab在SOFTICE中被当作地址来解释,而没有当作变量。你不能使用它来作你的程序中的变量,否则不能正确执行。 是有这样的情况,我以前也迷惑过。好象由a(A)--f(F)(十六进制也)组成的都是这样的。 除此外应该可以的如:abcdefg 之有“g”! :) |
|
|
5楼#
发布于:2002-06-12 12:12
ab在SOFTICE中被当作地址来解释,而没有当作变量。你不能使用它来作你的程序中的变量,否则不能正确执行。 开始时,我不信。 然后事了一下,还是不行呀! 看样子不是这的毛病。 不过,还是谢谢你! |
|
|
6楼#
发布于:2002-06-12 12:33
[quote]ab在SOFTICE中被当作地址来解释,而没有当作变量。你不能使用它来作你的程序中的变量,否则不能正确执行。 开始时,我不信。 然后事了一下,还是不行呀! 看样子不是这的毛病。 不过,还是谢谢你! [/quote] 是有这样的情况,我以前也迷惑过。好象由a(A)--f(F)(十六进制也)组成的都是这样的。 除此外应该可以的如:abcdefg 之有“g”! \"然后事了一下,还是不行呀!\"是指什么??????? ”看样子不是这的毛病。“ 这也不是毛病。。。。。。 而是默认的,或是硬性的。。。。。。。。 好象由a(A)--f(F)(十六进制也)组成的都是这样的。 以其他字符开头的,肯定行!!! fenger_li兄: 你调试的文件,有无重新加载? :o |
|
|
7楼#
发布于:2002-06-12 13:18
[quote]ab在SOFTICE中被当作地址来解释,而没有当作变量。你不能使用它来作你的程序中的变量,否则不能正确执行。 开始时,我不信。 然后事了一下,还是不行呀! 看样子不是这的毛病。 不过,还是谢谢你! [/quote] 你的变量名改了没有?重新编译装载了没有? |
|
|
8楼#
发布于:2002-06-12 13:29
哈哈,看样子是没有重新load了。当然会这样了。
|
|
9楼#
发布于:2002-06-12 15:39
[quote][quote]ab在SOFTICE中被当作地址来解释,而没有当作变量。你不能使用它来作你的程序中的变量,否则不能正确执行。 开始时,我不信。 然后事了一下,还是不行呀! 看样子不是这的毛病。 不过,还是谢谢你! [/quote] 是有这样的情况,我以前也迷惑过。好象由a(A)--f(F)(十六进制也)组成的都是这样的。 除此外应该可以的如:abcdefg 之有“g”! \"然后事了一下,还是不行呀!\"是指什么??????? ”看样子不是这的毛病。“ 这也不是毛病。。。。。。 而是默认的,或是硬性的。。。。。。。。 好象由a(A)--f(F)(十六进制也)组成的都是这样的。 以其他字符开头的,肯定行!!! /////////////////////////////////////////////////////////// fenger_li兄: 你调试的文件,有无重新加载? :o [/quote] |
|
|
10楼#
发布于:2002-06-12 16:02
hehe!
给分先! 问题解决一半。 但好像与大家说的无关。 我也搞不清怎么搞出来的。傻了! 对了我想再问一下,在symbol load中load了新的passthru.sys 他是不是把内存中的旧的passthru.sys替掉了?感觉有时替掉了,有时没替掉。搞不清楚。 多谢各位了。呵呵 |
|
|
11楼#
发布于:2002-06-12 16:35
如果他还在,当然不会被替换掉!
要先保证他不在内存,在load进内存。 最笨的方法就是重新启动了。 :D |
|
12楼#
发布于:2002-06-13 13:10
如果他还在,当然不会被替换掉! 我就是想知道,聪明的方法呀! 嗬嗬! |
|
|
13楼#
发布于:2002-06-13 13:25
我用softice 调imd 你的问题解决了没有?变量名换了没有?重新装载了没有? |
|
|
14楼#
发布于:2002-06-13 17:21
解决了,谢大家了。
|
|
|