元始天尊 发表于 2015-9-26 20:42:23

如何用vs查看结构体布局

今天遇到一个问题:
    假设在每个系统的structA结构不同,我们在windbg看了以后直接拿来用,自己定义成结构体,如何来验证这个结构体内存布局是否和windbg一致。
    当然笨办法是自己一个个成员数过去,然而人眼总有看错的时候,你承认吧~~。这里用一个极其巧妙的方式解决这个问题
    在vs当前工程中,添加了结构体定义,并编译成功后,解决方案视图,工程 右键 -> 属性 -> C/C++ -> 命令行 -> 其它选项加入
    /d1reportSingleClassLayoutstructA
    注意structA可以是任何类名、结构体名、联合体 等结构型结构,注意structA之前并没有空格
    这是输出某个结构体内存布局的方式,如果要输出所有工程引用到的结构体布局,则可以用
    /d1reportAllClassLayout
    结果会非常庞杂

coffee 发表于 2015-9-27 00:10:14

挺好用的,针对vc6编译器以上版本有效(我的vc6编译器版本为12.00.8168)

0xAA55 发表于 2015-9-27 08:51:33

这个不错

FFFFFFFE 发表于 2015-10-9 11:38:48

顶一下

7KY6 发表于 2018-1-14 15:38:30

可以可以!!
页: [1]
查看完整版本: 如何用vs查看结构体布局