星空网 > 软件开发 > ASP.net

Debug Diagnostics Tool创建异常转储并用Windbg分析异常

当我们要在IIS PRD环境下分析异常,并且对问题毫无头绪,又没有权限直接上打Log的代码。这个时候就是Debug Diagnostics Tool & Windbg大显神威的时候了。

Debug Diagnostics Tool

Debug Diagnostics Tool创建异常转储并用Windbg分析异常

安装方法各位大侠请自行百度,重点说一下抓转储文件。

Debug Diagnostics Tool创建异常转储并用Windbg分析异常

一开始是选择抓取的程序,我当然要抓IIS的应用程序池喽。。。

Debug Diagnostics Tool创建异常转储并用Windbg分析异常

设定要抓取的文件个数,点击Exceptions可以设定在发生什么异常时候抓取。

Debug Diagnostics Tool创建异常转储并用Windbg分析异常

我当然是要抓高大上的.Net异常喽。。。

接下来是设置保存的位置。

为了演示随便搞了一个会抛出异常的页面:

Debug Diagnostics Tool创建异常转储并用Windbg分析异常

看一下生成的转储文件长个毛样子哇:

Debug Diagnostics Tool创建异常转储并用Windbg分析异常

 Windbg

下面该windbg出手了,这个网上教程比较多,直接说重点了:

~#:查看问题线程,~线程id s:切换线程,!clrstack -l:查看当前堆栈并打印局部变量。

0:023> ~#
. 23  Id: 790.1280 Suspend: 1 Teb: 000007ff`ffec6000 Unfrozen
      Start: clr!Thread::intermediateThreadProc (000007fe`ef57dafc)
      Priority: 0  Priority class: 32  Affinity: f
0:023> ~23 s
KERNELBASE!RaiseException+0x39:
000007fe`fdfaaaad 4881c4c8000000  add     rsp,0C8h
0:023> !clrstack -l
OS Thread Id: 0x1280 (23)
        Child SP               IP Call Site
000000000d3ad610 000007fefdfaaaad [FaultingExceptionFrame: 000000000d3ad610]
000000000d3adb60 000007fe8fe415cc *** WARNING: Unable to verify checksum for App_Web_ix1d1jtk.dll
_Default.Page_Load(System.Object, System.EventArgs) [c:\inetpub\wwwroot\Default.aspx.cs @ 17]
    LOCALS:
        0x000000000d3adb80 = 0x00000000fff4d4e8
        0x000000000d3adb88 = 0x0000000000000000
        0x000000000d3adb8c = 0x0000000000000001

呵呵,0x00000000fff4d4e8这个地址就是我们代码里面随便new的对象:sssssss奥,来DO一下看看这个对象吧:

0:023> !do 0x00000000fff4d4e8
Name:        TestStatic

MethodTable: 000007fe8fe2c3d8
EEClass:     000007fe8fe18bc8
Size:        24(0x18) bytes
File:        C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\e22c2559\92c7e946\App_Web_ix1d1jtk.dll
Fields:
              MT    Field   Offset                 Type VT     Attr            Value Name
000007feee4f0e08  400000d       28        System.String  0   static 0000000400031900 abc


再来看一下他的字符串成员abc

0:023> !do  0000000400031900
Name:        System.String
MethodTable: 000007feee4f0e08
EEClass:     000007feede14860
Size:        48(0x30) bytes
File:        C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
String:      11111111111
Fields:
              MT    Field   Offset                 Type VT     Attr            Value Name
000007feee4f3980  40000ab        8         System.Int32  1 instance               11 m_stringLength
000007feee4f20f0  40000ac        c          System.Char  1 instance               31 m_firstChar
000007feee4f0e08  40000ad       18        System.String  0   shared           static Empty




原标题:Debug Diagnostics Tool创建异常转储并用Windbg分析异常

关键词:win

win
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

抢滩夏日海滩市场,现在就上船!:https://www.ikjzd.com/articles/97415
速卖通资深运营6大经验:助你吸引更多买家!:https://www.ikjzd.com/articles/97416
中美贸易战如何影响海运业?:https://www.ikjzd.com/articles/97417
那么多个KOL,哪一个才是最带货的?!:https://www.ikjzd.com/articles/97418
亚马逊被广大卖家所熟知,无货源模式助你轻松做跨境!:https://www.ikjzd.com/articles/97419
小白如何做跨境电商亚马逊?需要准备什么?:https://www.ikjzd.com/articles/97422
凌晨三点到天津西站可以去哪里? :https://www.vstour.cn/a/410229.html
Temu广告投入上千万美元, 在美知名度高达88%!:https://www.kjdsnews.com/a/1842236.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流