WinDBG使用之线程】的更多相关文章

Windbg既可以显示进程和线程列表,又可以显示指定进程或线程的详细信息.调试命令可以提供比taskmgr更详尽的进程资料,在调试过程中不可或缺. 一.进程命令 进程命令包括这些内容:显示进程列表.进程环境块.设置进程环境. 1.进程列表 多个命令可显示进程列表,但一般只能在特定情况下使用,它们是:|..this.!process.!dml_proc. 竖线命令显示当前被调试进程列表的状态信息. | [进程号] 注意:被调试进程列表.大多数情况下,调试器中只有一个被调试进程,但可以通过.atta…
简单整理一个测试Demo,抓取dump并验证,步骤如下: Symbol File Path:SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols Procdump每20秒抓取一次,连续抓三个:procdump -ma -s 20 -n 3 TestCPU.exe Ctrl + D 打开刚才收集的dump文件: 加载sos,命令:.loadby sos clr 检查所有线程的堆栈:~* e!clrstack 查看线程阻塞:!syncbl…
~* 查看所有线程 ~ 0 k 查看0号线程栈回溯…
比如我们在machine.config中进行了这样的设置(8核CPU): <processModel maxWorkerThreads="100" maxIoThreads="100" minWorkerThreads="50" minIoThreads="50"/> 那如何检查这个设置是否生效呢?答案是用windbg的!theadpool命令进行查看. 操作步骤如下: 1. 运行windbg,File->A…
上一篇文章我给你介绍了WinDbg的入门,还有你如何能附加到SQL Server.今天的文章,我们继续往前一步,我会向你展示使用WinDbg调试SQL Server查询需要的步骤.听起来很有意思?我们开始吧! 假设在你面前有个简单的查询,你想在WinDbg里调试那个特定的查询.听起来很简单,但一旦你开始考虑这个问题,就会碰到很多问题: 在我特定执行的查询上,我如何标识出正确的工作者线程? 在sqlservr.exe里,我应该在哪里设置断点? 我们来具体讲解下这2个问题. 标识出正确的工作者线程…
http://www.cnblogs.com/woodytu/p/4665427.html http://www.sqlservercentral.com/blogs/aschenbrenner/2014/05/13/debugging-a-sql-server-query-with-windbg/ 上一篇文章我给你介绍了WinDbg的入门,还有你如何能附加到SQL Server.今天的文章,我们继续往前一步,我会向你展示使用WinDbg调试SQL Server查询需要的步骤.听起来很有意思?我…
Windbg的一些简单使用命令 一.崩溃 1.  输入.ecxr;kbn得到崩溃的堆栈 其中源代码如下 2.  查看堆栈和源代码,发现第0帧导致崩溃,代码也是本地代码 输入.frame  0,切到第0帧如下 3.  输入 dv 查看当前帧的一些变量信息 发现变量p =0x00000000 二.句柄泄漏 1.  启动进程 2.  用windbg附加到进程 3.  !htrace  -enable命令开启句柄检测 4.  !htrace  –snapshot 5.  运行一段时间后 6.  !htr…
SOS是什么? 直观来说,sos就是一个程序集文件.这个程序集的作用就是让我们在使用windbg分析.net进程时,更加方便快捷.通过sos,我们可以清晰的查看CLR运行时的各类信息,辅助我们去理解托管内存的状态和含义. 这个程序集是随.NET Framework一起安装的,一般不需要单独安装.在我本机自动安装的位置如下: C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll C:\Windows\Microsoft.NET\Framewor…
一:背景 1. 讲故事 前几天有位朋友在 B站 加到我,说他的程序出现了 线程数 爆高的问题,让我帮忙看一下怎么回事,截图如下: 说来也奇怪,这些天碰到了好几起关于线程数无缘无故的爆高,不过那几个问题比这一篇要复杂的多,主要涉及到非托管层面,分享这一篇的目的主要是它很有代表性,很有必要. 闲话不多说,既然线程数爆高,那就上 windbg 说话. 二:WinDbg 分析 1. 线程数真的高吗 既然说线程数高,那到底有多少呢? 我们可以用 !t 命令看一下. 0:000> !t ThreadCoun…
一:背景 1. 讲故事 前段时间收到一个朋友的求助,说他的程序线程数疯涨,寻求如何解决. 等我分析完之后,我觉得这个问题很有代表性,所以拿出来和大家分享下,还是上老工具 WinDbg. 二: WinDbg 分析 1. 线程真的在疯涨吗 要想查线程有没有疯涨,可以用 !t 命令看一下. 0:000:x86> !t ThreadCount: 382 UnstartedThread: 1 BackgroundThread: 376 PendingThread: 0 DeadThread: 2 Host…