C / C ++编译器可以报告struct成员偏移量

时间:2010-05-25 03:41:22

标签: c++ c compiler-construction debugging

  

可能重复:
  Layout of compiled objects

大家好。我想问一下,编译器(例如Visual C ++)是否可以生成一个报告(.txt),告诉struct / all结构的struct member offset?

如果是这样,它可以帮助调试很多。例如,当您在调试器中读取反汇编代码时,可以更容易地将偏移值与结构成员相关联。

此外,最好在函数堆栈帧上具有每个局部变量的编译器报告偏移量(例如,相对于X86机器上的ebp的偏移量)。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

谢谢你,j_random_hacker,你为我的问题提供了一个非常可行的答案。

使用未记录的编译器选项

/d1reportSingleClassLayoutXXX 
/d1reportAllClassLayout 

(用类名替换XXX)

给出了结构成员偏移的简要视图。

在Visual C ++ 8 SP1上尝试过,好的。

我建议不要删除我的问题,以便轻松搜索具有相同问题的其他人。