windbg-获取结构体大小(常用的两种方式)

来源:互联网 发布:matlab求解非线性优化 编辑:程序博客网 时间:2024/06/07 02:41

两种方式:

dt -v:详细输出。这会输出结构的总大小和字段数量这样的附加信息。当它和-y选项一起使用时,所有的符号都会被显示出来,即使他们没有任何关联的类型信息。

[cpp] view plain copy
  1. 0:000> dt -v _image_nt_headers  
  2. OGame!_IMAGE_NT_HEADERS  
  3. struct _IMAGE_NT_HEADERS, 3 elements, 0xf8 bytes  
  4.    +0x000 Signature        : Uint4B  
  5.    +0x004 FileHeader       : struct _IMAGE_FILE_HEADER, 7 elements, 0x14 bytes  
  6.    +0x018 OptionalHeader   : struct _IMAGE_OPTIONAL_HEADER, 31 elements, 0xe0 bytes  

或C++方式:

[cpp] view plain copy
  1. 0:000> ?? @@c++(sizeof(_image_nt_headers))  
  2. unsigned int 0xf8  

[cpp] view plain copy
  1. 0:000> ?? sizeof(_image_nt_headers)  
  2. unsigned int 0xf8