大牛们好 ,我用windbg调试一个.net程序的dump文件,但是使用!clrstack命令时出现:
OS Thread Id: 0xdac (0)
Failed to start stack walk: 80004005
(似乎是这个错误是说:这个线程堆栈上不存在.net code,但是那是不应该的。)
查了很多资料,也配置好了sos.dll和mscorwks.dll,但无论如何都不行。另外,我已经load了我程序的pdb文件,但是使用!analyze -v 去分析时,确还是没有具体方法、代码的详细信息,仅仅能定位到dll(一个C++的dll)。
有人肯帮忙的话,可以提过dump file给你。紧急!!!
另外园子里有个专栏关于windbg的,上面有这个问题http://blog.csdn.net/juqiang/article/details/2173662,但是郁闷的是,他说:出错了,什么原因?以后再说。为了这个以后,我看了他整个系列的文章,结果没有“以后”。。。
http://blogs.msdn.com/b/tess/archive/2008/05/13/failed-to-start-stack-walk-80004005-following-frames-may-be-wrong-and-other-errors-you-may-see-in-windbg.aspx
谢谢你,这个文章我也看到过。
If you run the sos command !clrstack to display the .net stack on a thread, and this thread is a .net thread but it is not currently running any .net code, sos will spit out Failed to start stack walk: 80004005. This does not mean that there is anything wrong with the process or with the debugger. It simply means that sos can't display the stack because there is none.
我就是从这里得出:这个线程堆栈上不存在.net code,但是这是不和逻辑的,因为我是用!threads选择出的当前程序的主线程它一定是.net的。
谢谢你的回答,豆豆送给你吧。