windbg 分析.NET崩溃,dmp文件可以显示托管堆栈,直接崩溃触发windbg调试的!PE显示不是托管代码,通过文件打开运行也显示非托管代码
这里面的差别到底在哪里?
c++代码,如果崩溃触发windbg,则直接可以定位到代码行;
.NET的c#代码只有!clrstack通过查询托管堆栈可以显示到代码行,可是无法定位到源文件,因为在栈列表界面显示的都是clr!....之类的,属于非托管模式下看到的栈,托管的栈一般都是system......形式给出来;
大家即时调试.NET崩溃的第三方小型调试器都有哪些? vs当然最好,但是体积太大
windbg调试.NET真是太不好使了,限制太多,sos/CLR/MSCORWKS等任何一个不满足都不行
经常是托管指令无法运行