在这要喷一下,有时候我们最郁闷的是,买一本书按照例子做结果老是不对。当然笔者就遇到这样的问题。
我在看《.Net 高级调试》 这本书就总感觉有些例子都没办法实现书中例子中的效果,如 3.7.4 数组的转储 章时,要使用!ClrStack –a 老是出现,
百思不得其解,就拿红色框里面的类容一搜,找到一篇类式的文章。
http://www.cnblogs.com/fanweixiao/archive/2008/08/06/1261577.html
结果他的是因为SOS.DLL的版本有问题,于是用!eeversion一看。
0:003> !eeversion
2.0.50727.3053 retail
Workstation mode
SOS Version: 2.0.50727.3053 retail build
没有问题。哎!万般无赖下,用~*e!clrstack 命令一式,
图1
结果总算出来了想要的信息。
原来刚才没有指定到某个线程,所以老是不对,立即转到第0个线程,一切来得都那么流畅。
总算出来书中的效果了,善哉!善哉!。
当然查看数组中的值也就一步到位了。
----------------------------------------------------------------------------------------------------------------
现在总结下遇到的一些问题。
1,书中老是说手动中断执行 你可别真的把程序关了。如果你一关,又会出现刚才 图1的错了。他说的本身意思是 用Windbg->Debug->Break 。对于没用过WinDbg的人来说真的好痛苦。
2,其实刚才书中说的!clrstack –a 其实没有错,只是用的地方错了,如果用在VS的即时窗口就没有问题。
其它问题就以后在说吧。
最后 挣个外链。