windbg - 如何在 WinDbg 中显示数组中包含的嵌套结构成员的内容?

标签 windbg

我有一个数组,gEpPool:

0:031:x86> dt gEpPool[1]
[1] 0x06b4d5c8 
   +0x004 m_objectID       : 0x33b
   +0x000 __VFN_table : 0x6a643330 
   +0x008 m_errorCode      : 0n0
   +0x00c m_beenHereOnce   : 0 ( NEVER_BEEN )
   +0x010 m_beenHere       : 0n0
   +0x014 m_header         : 0xbaadf00d Void
   +0x018 m_nodeType       : 0n23
   +0x01c m_myID           : 1
   +0x020 m_nodeID         : 0n1
   +0x024 m_nodesList      : CSimpleList
   +0x038 m_addressSet     : CEntitySet

我想显示嵌套在m_nodesList中的成员的内容:

0:031:x86> dt gEpPool[1] m_nodesList
[1] 0x06b4d5c8 
   +0x024 m_nodesList : CSimpleList

我知道如何递归地执行它:

0:031:x86> dt -r gEpPool[1]
[1] 0x06b4d5c8 
   +0x004 m_objectID       : 0x33b
   +0x000 __VFN_table : 0x6a643330 
   +0x008 m_errorCode      : 0n0
   +0x00c m_beenHereOnce   : 0 ( NEVER_BEEN )
   +0x010 m_beenHere       : 0n0
   +0x014 m_header         : 0xbaadf00d Void
   +0x018 m_nodeType       : 0n23
   +0x01c m_myID           : 1
   +0x020 m_nodeID         : 0n1
   +0x024 m_nodesList      : CSimpleList
      +0x000 m_objectID       : 0x33c
      +0x004 m_pTail          : 0x06b42938 SimpleCell
         +0x000 pNext            : (null) 
         +0x004 data             : 0x06b42960 Void
         +0x008 size             : 0xc
      +0x008 m_semaphore      : CSem
         +0x000 m_objectID       : 0x33d
         +0x004 m_sem            : (null) 
         +0x008 m_count          : 0xf00d
   +0x038 m_addressSet     : CEntitySet
      +0x000 m_objectID       : 0x33e
      +0x004 m_set            : [10] CEntitySet::setItems
         +0x000 from             : CEntityAddress
         +0x00c to               : CEntityAddress
         +0x018 mode             : 1 ( Set_Include )
         +0x01c user0            : 0xbaadf00d
         +0x020 user1            : 0xbaadf00d
      +0x16c m_numberOfEntriesInSet : 1

但是信息太多了。我想直接查看 gEpPool[1].m_nodesList.m_pTail->data 成员。

我该怎么做?

一旦到达,我如何将它显示为另一种类型(它被声明为 void *,但我知道它是更具体的东西)?

最佳答案

dt gEpPool[1] m_nodesList->m_pTail->data

关于windbg - 如何在 WinDbg 中显示数组中包含的嵌套结构成员的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14042636/

相关文章:

debugging - 崩溃转储和挂起转储之间的区别?

heap-memory - !heap -x -v 和 !heap -flt s 之间的矛盾

windbg - 使用 WinDbg 从委托(delegate)中获取方法名称

windbg - 如何从 DLL 的堆标记中受益?

loops - 如何在 Windbg 中编写这样的循环?

c# - Windbg 帮助 -> 如何阅读此调用堆栈中的代码?

debugging - 在应用程序的多个实例的第一次机会异常时生成转储

windows - 当 Cygwin 的 Perl 启动带有反引号的程序时,无法触发系统调试器转储核心

windbg - 为什么 SOS/SOSEx 会误解 System.Collections.Generic.List.Enumerator 的值?

java-native-interface - 哪个 native 函数导致 JNI 代码中的 EXCEPTION_ACCESS_VIOLATION?