ychen added a comment.

> - how does that work, actually? How does it differentiate between "my" code 
> and "code that happens to be compiled in the current CU" (e.g. the STL).  
> What's the significance of the funky `__XXXXXXXX_x@c` symbols?

The non-user code is specified by a config file 
(https://docs.microsoft.com/en-us/visualstudio/debugger/just-my-code?view=vs-2022#BKMK_CPP_Customize_call_stack_behavior).
 Then the debugger would know user/non-user code by looking at the debuginfo. 
The boolean `__XXXXXXXX_x@c` symbol has a one-to-one mapping to a source file. 
For all functions defined in the corresponding source file, it decides if a 
breakpoint would be hit. It is the `JMC_flag` in 
https://github.com/ojdkbuild/tools_toolchain_vs2017bt_1416/blob/master/VC/Tools/MSVC/14.16.27023/crt/src/vcruntime/debugger_jmc.c.

> - if the goal is to integrate this into lldb (and given that lldb currently 
> does not support any feature like this), I'd recommend sending an RFC/heads 
> up early, to identify possible issues

The goal is to make the feature usable by an ELF-based compiler(actually we 
have a downstream debugger that needed this. lldb/gdb as well). I think this 
could benefit upstream debuggers hence this patch. I'll send an RFC. Thanks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119910/new/

https://reviews.llvm.org/D119910

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to