This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: MSVC and DIA

Gabe Black wrote:
GDB seems like a viable alternative, and all that seems to be missing
is symbol interpretation. Microsoft provides the Debug Interface
Access SDK (DIA) which I did not find referenced in any of the mailing
lists. It is an SDK that allows you to get at any of the debug/symbol
information in a PDB even if the format of the PDB changes. I would
like to add PDB symbol support to GDB. I am fairly new to GDB but I
have been able to implement the remote stub running on the target
without much trouble. However the challenge lies in adding the symbol
support. From what I understand, BFD is where I would need to add the
PDB symbol support. I didn't find much about it in the gdb online
documentation, both in the user manual and internal documentation.
Using somebody else's library can be a pain, because you have to adapt every mismatched call on the fly, both at the BFD level (which is really about symbols and blocks of data), and at the GDB level (which then interprets the blocks of data as debug info). You might find it easier to simply write a tool that translates a PDB file into an ELF+DWARF file, then have GDB read that. Since you control every detail of output, you needn't necessarily use BFD to write the file even; just dump out canned sequences of bytes for the file as a whole, and similarly for the DWARF equivalents of PDB constructs. Running GCC on Linux and doing -S -dA (?) will give you annotated assembly code showing what GDB is going to expect for different kinds of data, often easier than trying to grok the whole DWARF spec.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]