Debugging issues with instrumentation capture and replay can be particularly tricky, especially because part of the process takes places even before the debugger is initialized. This patch adds more logging capabilities to these classes, hidden behind a macro define.
The overall idea seems fine to me, though I think it would be better to keep the macros simpler by moving all of the logic into the single Register call. I.e. the Register function would take extra StringRef arguments, which the macros would fill out. Then you could store the computed signature in the (possibly renamed) m_ids map, instead of having two maps with the same set of keys. That should save some space too.
I'm guessing it's the kind of thing you define by editing the source/cmake config, when you're really desperate to figure out what's going wrong.