【问题标题】:SOSEX mdt command wrong outputSOSEX mdt 命令错误输出
【发布时间】:2025-11-29 09:05:04
【问题描述】:

我发现sosex !mdt 命令有一个很奇怪的问题。

我正在调查崩溃内存转储,并正在使用 !mdt 命令检查 System.Web.EtwTrace 类静态字段的值:

!mdt System.Web.EtwTrace

[s]_traceLevel:int

...

AppDomain '/LM/W3SVC/2/ROOT-1-130489393569613986' (00000000021a2d50):0x0000000000000000

我决定使用!DumpClass SOS 命令仔细检查该值:

!DumpClass 000007feec7ddbb8

类名:System.Web.EtwTrace

....

共享静态_traceLevel 6

看起来像 SOSEX 中的一个错误,有人遇到过同样的问题吗?

【问题讨论】:

  • 嗨尼克。首先,请确保您使用的是最新版本的 sosex。如果您是,请将此问题报告到 !sosex.help 或 !sosexhelp 中列出的电子邮件地址。
  • 您好史蒂夫,感谢您的及时回复。我已经下载了最新的 SOSEX,但问题仍然存在 =\ 如您所述,我已发送邮件。

标签: c# windbg crash-dumps sos sosex


【解决方案1】:

无法快速设置 EtwTrace。它似乎至少适用于我自己的班级:

0:000> !name2ee EtwTraceDebug EtwTraceDebug.Program
Module:      001d2eac
Assembly:    EtwTraceDebug.exe
Token:       02000002
MethodTable: 001d37fc
EEClass:     001d1260
Name:        EtwTraceDebug.Program

0:000> !dumpclass 001d1260
Class Name:      EtwTraceDebug.Program
mdToken:         02000002
File:            C:\...\EtwTraceDebug.exe
Parent Class:    699b34f8
Module:          001d2eac
Method Table:    001d37fc
Vtable Slots:    4
Total Method Slots:  6
Class Attributes:    100000  
Transparency:        Critical
NumInstanceFields:   0
NumStaticFields:     1
      MT    Field   Offset                 Type VT     Attr    Value Name
69d83aa8  4000001       20         System.Int32  1   static        6 test

0:000> !mdt EtwTraceDebug.Program
EtwTraceDebug.Program
    [s]test: int
        AppDomain 'EtwTraceDebug.exe' (004b8280): 0x00000006

但是,这可能是特定于版本的。使用的版本:

WinDbg 6.2.9200.16384
SOS 4.0.30319.18444
SOSEX 4.5.0.783 (reported as 4.5.0.0, built Fri Mar 07 16:17:26 2014)
SOSEX 4.5.0.759 (reported as 4.5.0.0, built Mon Dec 02 16:43:57 2013)
SOSEX 4.5.0.721 (reported as 4.5.0.0, built Mon Nov 25 17:49:59 2013)
SOSEX 4.5.0.692 (reported as 4.5.0.0, built Wed Oct 03 16:57:42 2012)

【讨论】:

    最近更新 更多