It's great that you're making steady progress on your debugger! Here are my two cents:
Clang won't give you macro information and it also won't tell you which symbols were defined at compilation time, according to my explorations and also to this link:
That means that you not only need a preprocessor, but also need to integrate the debugger in the building process in order to provide some simple functionality, like highlighting for #ifdef blocks.
The advantage clang's debug info has over gcc is that it reports column numbers, so you get sub-line resolution. However, it's not perfect, see: