Web Analytics
yangyang

码农兼一个普普通通小青年

WinDbg


使用WinDbg查看所有的C#线程及其名称

最近程序遇到了一个问题,当写的一个C#客户端程序在Windows 11系统休眠之后再次唤醒,有一定的概率不能够正常的接受服务端的数据。这个程序有一个专门用于连接服务端的C# 线程,名字为"WatchServiceTransport",它的内部是一个while循环,不停的从服务端使用Socket的NetworkStream.Read读取数据。在正常的时候,程序是能够接收数据的。但是当Windows休眠之后,此时网络连接可能断开,此时即使Windows唤醒之后仍然不能连接收取数据。于是怀疑是否是因为Windows 11休眠后,连接TCP的线程被强制退出了。那如何验证是否是这个原因导致的呢?就需要判断在出现问题时,当前的名为“WatchServiceTransport”的线程还是否存在。 幸好,今天这个问题又复现了于是导出了DUMP文件,用Windbg分析了一下,顺便记录如何打印所有的C#线程 …

WinDbg dumpheap

记一次.NET程序内存暴涨分析

大约在上个月,利用WinDbg找到了软件中的一个存在很久的内存会暴涨的bug,说起来也是巧合,这里记录一下。 在描述问题之前,我想提一下,软件开发中寻找bug的正确思路和方法,这也是从我领导那里学到的严谨态度,并且在工作中体会最深的。 …

WinDbg Memory Leak

如何科学的安装最新版本的WinDbg

最早版本的WinDBG分为32位和64位,界面也比较古老,在大概2016年,微软更新了一版UI,变得更现代化了,但似乎只能在Windows Store里面安装,名字也变味了WinDBG Preview,这一Preview就是5年,在今年的5月1日,终于微软把这个Preview给拿掉了。新版本同样需要在Windows Store里面安装,但名字似乎还叫WinDBG Preview,只支持在Windows 10及以上版本上安装。 如果按照通常的步骤,安装或者升级新版本的WinDBG是比较费劲的,很慢。     https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/windbg-overview https://learn.microsoft.com/en-us/windows-hardware/drivers/ …

WinDbg

  • 1