Debug information overview

Debug information for the cc65 package is a developing process.

Older versions were able to generate label files that could be used in the VICE and Oricutron debugger. They were helpful but far from perfect, because they contained lots of duplicate symbols (@L1, @L2, …) and the VICE debugger contains no provisions to mark a symbol as being an address or something else.

Later, an experimental debug info output was added. Line and file information (but nothing else) was passed from the compiler to the assembler, so the file did also contain some information from C sources. The file format was text, so it was readable and easily parseable. However, since the file format was subject to change and the information incomplete (for scopes for example), there were no actual users.

To ease the task of debugger/emulator writers, a C module was developed. This (C++ compatible) C module can be embedded into an emulator or debugger, reads and parses a debug info file generated by the ld65 linker, and allows to retrieve information by simple function calls. The data is heavily cross-indexed internally, to make data lookups fast and efficient.

cc65/debug-info-overview.txt · Last modified: 2011-09-09 14:15 by polluks
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki