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.
Details
Diff Detail
Event Timeline
lldb/include/lldb/Utility/ReproducerInstrumentation.h | ||
---|---|---|
591 | Who defines this macro? I'm asking because it's unusual for LLDB to emit anything on stderr. |
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.
lldb/include/lldb/Utility/ReproducerInstrumentation.h | ||
---|---|---|
591 | 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. |
lldb/include/lldb/Utility/ReproducerInstrumentation.h | ||
---|---|---|
591 | Correct, see the #define on line 24. I'll comment it out before landing of course. |
Who defines this macro? I'm asking because it's unusual for LLDB to emit anything on stderr.