locked
DIA SDK: Getting all members and their memory locations (C++) RRS feed

  • Question

  • Hello!

    I'm using the DIA SDK to get some meta information about my C++ projects. However, I'm struggling with getting the information about all members of a type. Basically, findChildrenEx gives me all members of a type, excluding the inherited ones. Now, that's not so much of a problem for "simple" inheritance, as the base class is also retrieved and can be analyzed.

    This doesn't work for multiple inheritance though, as the memory layout is messed up and VTables are used to store the locations of the members. Now, do I really need to dig through those VTable entries or is there some simpler method that gives me all members (including the inherited ones), including their relative memory location?

    Thanks in advance

    Monday, January 21, 2013 3:21 PM

All replies

  • You can get the meta information via VCProject and VCProjectEngine.



    崖山之後無中國,明亡之後無華夏


    • Edited by Disley Tuesday, January 22, 2013 9:06 AM
    Tuesday, January 22, 2013 9:06 AM
  • You can get the meta information via VCProject and VCProjectEngine.


    But that would mean introducing Microsoft.VisualStudio as a new dependency and maybe rewriting my project to not use the DIA SDK anymore in order to keep my code clean.

    The DIA SDK offers a lot of methods and seems to be centered around this kind of thing... Shouldn't this be possible with it?

    Wednesday, January 23, 2013 9:26 AM