Hi everyone,
To help ELF-based debuggers(lldb/gdb/sony’s downstream debugger) adopt the MSVC Just My Code Stepping
feature (Announcing C++ Just My Code Stepping in Visual Studio - C++ Team Blog), I’m working on adding the MSVC-style JMC instrumentation to LLVM for ELF-based debuggers (D119910). The instrumentation for ELF shares implementation with the instrumentation for COFF(D118428).
In fact, there are similar features in lldb/gdb already, such as:
- gdb “skip -file/-function”
- lldb “target.process.thread” step-in-avoid-nodebug/step-out-avoid-nodebug
These are different(less powerful than) fromJust My Code Stepping
in that if the user specifies a function to be skipped, the stepping could only stop after a call to the function. The debugger could not stop at any user code inside that call. For example, If A calls B, B is user code, A is configured to be skipped, lldb/gdb skip B also whereas MSVC debugger could stop at B. I thinkJust My Code Stepping
could complement these features nicely.
Anyone is interested in this feature in the LLVM project? Any concerns or suggestions? Thanks.