首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > 使用Windbg和SoS扩展调试分析.NET程序
【标  题】:使用Windbg和SoS扩展调试分析.NET程序
【关键字】:Windbg,SoS,.NET
【来  源】:http://www.cnblogs.com/shanyou/archive/2006/12/23/601004.html

使用Windbg和SoS扩展调试分析.NET程序

使用Windbg和SoS扩展调试分析.NET程序 - 自由、创新、研究、探索…… - 博客园

自由、创新、研究、探索……

Linux/Windows Mono/DotNet [ Open Source .NET Development/ 使用开源工具进行DotNet软件开发]

博客园 首页 新随笔 联系 聚合 管理
  203 Posts :: 47 Stories :: 756 Comments :: 8 Trackbacks

在博客堂的不是我舍不得 - High CPU in GC(都是+=惹的祸,为啥不用StringBuilder呢?)不是我舍不得 - .NET里面的Out Of Memory 看到很多人在问如何分析dump,所以就写下了这篇短文,抛砖引玉。

一、安装 DebuggingToolsforWindows: 从以下 Microsoft 网站下载 DebuggingToolsforWindows: http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx ,微软经常更新DebuggingToolsforWindows工具的,所以我们下载一个最新版本的,把DebuggingToolsforWindows 安装到 C:\Debuggers 文件夹,从命令行中运行工具需要一个简短的路径,这样更加容易使用。

二、为 WinDbg 中设置符号路径:

1.打开 WinDbg。
2.在 文件 菜单上, 单击 符号文件路径 。
3.在 符号路径 对话框中, 键入以下符号路径: srv*c:\symbols*http://msdl.microsoft.com/download/symbols
4.关闭 WinDbg, 然后键入 是 Yes ,以保存基本区信息。

三、SOS 扩展

SOS.dll 中提供的 Son of Strike 扩展 (SOS),用于调试 WinDbg 中的托管代码。在启动了调试程序并将其附加到托管进程(或加载故障转储)后,您可以通过键入以下代码加载 SOS.dll:
.loadby sos mscorwks

如果您正在调试的应用程序使用的是不同版本的 mscorwks.dll,则该命令无法执行,那么应找到该应用程序使用的 mscorwks.dll 版本的 SOS.dll,然后运行以下命令:

.load <path_to_sos>\sos.dll

SOS.dll 随 .NET Framework 安装在 %windir%\microsoft.net\framework\<.NET 版本> 目录下。SOS.dll 扩展提供了大量用于检查托管堆的有用命令。有关所有这些命令的文档,请参阅 SOS 调试扩展 (SOS.dll)

四、相关的资料:如何调试分析,有几篇非常不错的文章,大家自己慢慢去品味吧。

CLR 完全介绍: http://msdn.microsoft.com/msdnmag/issues/06/11/CLRInsideOut/default.aspx?loc=zh
深入探索.NET框架内部了解CLR如何创建运行时对象: http://www.microsoft.com/china/MSDN/library/netFramework/netframework/JITCompiler.mspx?mfr=true
!dumpheap -gen in ,NET 2.0 SOS that Ships with the Framework: http://dotnetdebug.blogspot.com/2006/12/dumpheap-gen-in-net-20-sos-that-ships.html
在托管代码中设置断点(WINDBG) http://blog.joycode.com/gangp/articles/20417.aspx
NET Framework 2.0 在内存中加载 Sos.dll 文件时 Windows 错误报告崩溃 FIX:http://support.microsoft.com/kb/913382/zh-cn
SOS Debugging with the CLR :http://blogs.msdn.com/jasonz/archive/2003/10/21/53581.aspx

posted on 2006-12-23 00:29 自由、创新、研究、探索…… 阅读(38) 评论(2)  编辑 收藏 引用 网摘 所属分类: DotNet 2.0
英语阅读推荐:美化文件上传框 & 无刷新文件上传:【上一篇】
发布一个实用美观的Vista Sidebar Gadget (代表博客园参赛):【下一篇】
【相关文章】
  • 不是我舍不得 - .NET里面的Out Of Memory
  • ASP编码者学习ASP.net编码要注意的一些地方
  • .net精简框架集(WinCE平台下),XML反序列化成功与否与时间相关
  • ado.net 学习笔记
  • 在Visual C++.NET平台上调用MYSQL的C API的方法
  • 发现一个 WPF/E Asp.net Server Control
  • 直接调用内置数据源连接对话框(VB.NET2005源码)
  • 【翻译】Object relational persistence in .Net
  • ComponentOne WebChart for ASP.NET基础
  • ASP.NET 2.0中随机读取Access数据库记录
  • 【随机文章】
  • 第一级完成
  • Oracle维护常用SQL语句
  • 探索C++的秘密之一详解extern "C"
  • JMF捕获技术(视频)
  • Oracle性能调优--系统篇(转:http://mlsx.xplore.cn/read.php?653)
  • 用python写的一个对象池类
  • Linux内核级后门的原理及简单实战
  • 使用反射将业务对象绑定到 ASP.NET 窗体控件(修改篇)
  • 加密概念和PKI基础知识
  • VBScript函数集
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.