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