写点什么

Rodney Viana 为.NET 调试开发的 WinDbg 扩展介绍

  • 2013-11-11
  • 本文字数:859 字

    阅读完需:约 3 分钟

当.NET 应用程序在产品环境中发生故障的时候,通常留给开发者的仅仅是一个内存 dump。因为 Visual Studio 不能处理 dump 文件,所以你必须使用一个名为 WinDbg 的工具。该工具通常会和 SOS.dll 或者 Psscor4.dll 一起使用,它们是能够暴露.NET 特定细节的扩展。尽管非常强大,但是它们非常难于使用,因此开发者偶尔会创建自己的扩展。 Rodney Viana 就是这样的一个开发者,他刚刚发布了 netext 1.6.1 并将该项目开源。

Netext 中的一个有趣功能是,它能够使用一种类似于 SQL 的语法查询堆。例如,假如你想要查看最近失败的 Web 请求的列表,因为 HttpContext 对象已经被缓存了,所以你能够使用下面的语法查看失败的查询:

复制代码
!wfrom -type *.HttpContext |
where ( ($contains(_request._url.m_String, "http:")) &&
(_response._statuscode != 0n200) )
select $addr(), _request._url.m_String, _response._statusCode

下面是支持的命令列表:

显示对象详细信息的命令

  • !wdo——显示 GAC 或者堆栈中的 ad-hoc 对象或者数组
  • !wselect——为数组中的一个对象或者所有条目显示 ad-hoc 字段(和 level 字段)
  • !wfrom——执行类似 SQL 的堆对象分析,支持比较、表达式评估和索引过滤

枚举对象

  • !windex——根据不同的过滤器索引并显示对象,例如 HttpContext 类型的对象
  • !wstack——转储唯一的堆栈对象
  • !wheap——列出没有索引的对象并显示堆样本
  • !wgchandles——转储 GC 根句柄

特殊用途

  • !wdict——显示 dictionary 对象
  • !whash——显示 HashTable 对象
  • !whttp——列出 HttpContext 对象
  • !wconfig——显示所有排列在内存中的.config 文件
  • !wservice——列出 WCF 服务对象
  • !weval——评估表达式列表
  • !wclass——显示“反射的”类定义(字段、属性和方法)

Netext 还支持能够和聚合、字符串、XML、数组和反射一起使用的功能

Netext 是基于 GNU 通用公共许可(GNU General Public License)版本 2 提供的。尽管 Rodney Viana 是 Microsoft 的一位雇员,但该项目是一个个人项目,Microsoft 并不为其提供支持。

查看英文原文 Introducing Rodney Viana’s WinDbg Extension for .NET Debugging

2013-11-11 07:281527
用户头像

发布了 321 篇内容, 共 134.0 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

阿里内部高并发核心编程笔记:多线程、锁、JMM、JUC、设计模式

程序知音

高并发 java架构 后端技术 高并发架构

大数据培训学习后,就业不好就业

小谷哥

技术贴 | Rocksdb 中 Memtable 源码解析

KaiwuDB

数据库

你需要知道的webpack高频面试题

Geek_02d948

webpack

【简历优化】如何写好项目的亮点难点?项目经历怎么写最好?

王中阳Go

高效工作 学习方法 面试 简历模板 11月月更

JAVA concurrency -- AQS 源码详解

骑牛上青山

Java 源码

鼎医信息加入PolarDB开源数据库社区

阿里云数据库开源

阿里云 polarDB PolarDB-X 阿里云数据库 PolarDB for PostgreSQL

eBPF 实践 -- 网络可观测

观测云

如何在大促中做好系统高可用

阿里巴巴云原生

阿里云 微服务 高可用 云原生网关

搭建企业镜像仓库~Harbor

蜗牛也是牛

量化交易炒币机器人开发合约策略

薇電13242772558

量化策略

Go语言—基本输入输出包的使用

良猿

Go golang 后端 11月月更

专为实时而生 — GreptimeDB 现已在 GitHub 正式开源

Greptime 格睿科技

开源 分布式 云原生 时序数据库 存算分离

哪些前端学习方法对小白比较有用?

小谷哥

华为新机到手升级HarmonyOS 3,畅享多设备高效互联协同

极客天地

面向智慧城市的GIS框架

tjn

GIS 可视化 11月月更

系统运维利器,百万服务器运维实战总结!一文了解最新版SysAK|龙蜥技术

OpenAnolis小助手

Linux 开源 运维 龙蜥社区 SysAK

带你全面了解Gateway

好程序员IT教育

Spring Cloud Gateway SpringCloud Gateway

微博评论高可用高性能计算架构设计

Jack

架构实战训练营9期

java学习后该怎么培养自主学习能力

小谷哥

【高并发全彩版小册】阿里内部大佬用7部分讲懂!百亿级高并发系统

程序知音

Java 高并发 java架构 后端技术 高并发架构

Docker安装minio(CentOS7)

蜗牛也是牛

5 分钟教你搭建「视频动作分类」系统

Zilliz

人工智能 计算机视觉 Towhee 视频动作分类

启科量子 QuSprout 正式开源

启科量子开发者官方号

开源 量子计算 量子编程

直播预告|全闪文件存储在 AI 大数据领域的前沿应用

焱融科技

云计算 分布式系统 高性能 文件存储 全闪存储

web前端培训上海学习好吗

小谷哥

B站疯传 Java面试题,24小时删

程序知音

Java java面试 java架构 后端技术 Java面试八股文

STL迭代器失效问题

Maybe_fl

数据挖掘、机器学习、深度学习的区别

九章云极DataCanvas

数据挖掘 机器学习 深度学习

web前端培训学习需要注意什么

小谷哥

Rodney Viana为.NET调试开发的WinDbg 扩展介绍_.NET_Jonathan Allen_InfoQ精选文章