《Advanced .NET Debugging》 读书笔记 Listing 4-4: 调试Assembly加载失败的程序
程序在执行RunInDedicated()方法时会失败,原因在于执行h.Unwrap()时需要读取EntityUtil定义的程序集,但是CreateDomain()方法创建domain的时候指定的ApplicationBase为C:\\Windows\\system32。
1. 在WinDbg里载入AppDomain.exe.
2. 揿2执行RunInDedicated()方法时,出错。
3. 执行 .loadby sos.dll mscorwks
4. 执行 kb
5. 此时可以看到mscorwks抛出的异常:
6. 执行 !PE 023886d8
7. 但是此时不知道究竟在什么路径下缺失了什么assembly,此时可以启用fuslogvw,其位置在c:\Program Files(x86)\Microsoft.NET\SDK\v2.0\Bin ,进行设置。
8. 在注册表内添加相应键值LogFailures = 1
9. 此时重现错误,就是可找到AppDomain是在哪一个路径下没找到相应的Assembly的:






浙公网安备 33010602011771号