如果我们启动一个 exe 文件从 WinDbg,WinDbg 将中断执行可执行文件之前要运行的另一个词,尚未加载的运行的时间 (clr.dll) ;但 SOS 扩展需要 clr.dll (或 mscorwks.dll) 的互动与托管调试对象进程,所以我们可以使用"g"命令让托管的进程继续运行,使用 Ctrl + 休息,clr.dll 被加载后,中断该进程。
你可以做一些更改您的代码,添加"Console.ReadLine() ;"等在那里的进程:
Advanced.NET.Debugging.Chapter2 的命名空间
{
简单的类
{
静态 void Main (字符串 [] args)
{
Console.WriteLine ("欢迎到高级的.NET 调试!") ;
Console.ReadLine() ;
}
}
}
启动从 WinDbg,02Sample.exe,然后输入"g"命令让调试对象进程来运行,收到"欢迎到先进的.NET 调试!"从 02Sample.exe,回 WinDbg 输出后,按下 Ctrl + 休息,然后输入命令".loadby sos clr"加载 sos 扩展。