阅读:783回复:3
关于softice中查看局部变量的问题(跪求解答!)
小弟在用softice调windows2k下的网络驱动时,遇到了一个问题。就是softice看不到很多函数的中定义的局部变量的值,只能看到全局变量和入口参数的值(源码可以看到,也可单步执行和设断点)。不管是用watch、?还是locals,就是找不到局部变量的symble。这种情况很随机,有少量函数可以看到局部变量,大部分不行。编译选项我都仔细检查过了,编译时的/Zi和链接选项-debugtype:cv都有。(driver是调用ddk的build编译的,选项都是通过makefile.def控制的)。而用softice调试直接用cl和link产生的测试程序时则没有这个问题。
这个问题困扰我很久了,softice的doc我也读了好多遍了。如果不解决调试起来就太麻烦了。哪个兄弟遇到过类似的问题解决了的,拜托拉小弟一把 |
|
沙发#
发布于:2004-05-28 17:54
你说的Bug我遇到过,后来才发现使我的那版 Win2k DDK有一个小bug,它在Checked版本时也会作优化。我只好自己设置恶劣一下优化参数,将优化关闭。
原因在于 \\NTDDK\\bin\\setenv.bat 文件中一个宏MSC_OPTIMIZATION。正常情况应该如下: :checked rem set up an NT checked build environment set BUILD_ALT_DIR=chk set NTDBGFILES= set NTDEBUG=ntsd set NTDEBUGTYPE=both set MSC_OPTIMIZATION=/Od /Oi |
|
|
板凳#
发布于:2004-05-28 19:01
我以前也遇到过,后来改用WinDBG,感觉很好用,也没出现那种问题
|
|
|
地板#
发布于:2004-05-29 08:41
这个问题困扰我很久了,万分感谢楼上的两位! :)
|
|