VC8-compatible debugging in the works!
Peter Johnson
peter at tortall.net
Tue Mar 21 00:56:05 PST 2006
Just a heads-up to interested Yasm users...
I've managed to reverse-engineer most of the new CodeView format used by
VC8 (aka Visual Studio 2005) for line numbers (and symbolic debug
information in general). I'll be adding support for this to Yasm during
the next week or two, so it will be in the final 0.5.0 release.
After I complete VC8 debug support, it should be straightforward to
support older CodeView formats (like CV5 and CV4), but I suspect people
will be most interested in the newest format first. Plus the older
formats are (somewhat) better documented :).
I'm looking for suggestions on how to best add debug "hinting" to the NASM
syntax, e.g. to flag beginning/ending of procedures, variable types, and
so on. Yasm will soon have support for a number of advanced debug formats
(STABS and DWARF2 currently, and soon CodeView) that can support such
information, so it'd be nice to have a way to specify it at the source
code level! DWARF2 supports passthrough in GAS syntax (so it will
cooperate with compilers), but not from NASM syntax at present.
Obviously the basic mechanism would be something along the lines of a
[DEBUG] directive, but I'm looking at the parameters of said directive
(label to hook it into the code, plus some flags?), or even multiple
directives? And of course there's the age-old question: would these
directives and parameters be debugging-format specific (advantage to
getting fuller access to all features of a particular debug format), or a
common set (advantage to porting same code to different debug formats).
Maybe a combination of both? Discussion welcome.
Thanks,
Peter
More information about the yasm-devel
mailing list