[lldb-dev] [RFC] Fast Conditional Breakpoints (FCB)

Pavel Labath via lldb-dev lldb-dev at lists.llvm.org
Thu Aug 22 23:00:28 PDT 2019


On 23/08/2019 00:58, Ismail Bennani via lldb-dev wrote:
> Hi Greg,
> 
> Thanks for your suggestion!
> 
>> On Aug 22, 2019, at 3:35 PM, Greg Clayton <clayborg at gmail.com> wrote:
>>
>> Another possibility is to have the IDE insert NOP opcodes for you when you write a breakpoint with a condition and compile NOPs into your program.
>>
>> So the flow is:
>> - set a breakpoint in IDE
>> - modify breakpoint to add a condition
>> - compile and debug, the IDE inserts NOP instructions at the right places
> 
> We’re trying to avoid rebuilding every time we want to debug, but I’ll keep
> this in mind as an eventual fallback.
> 

A slight variation on that feature would be to just have the compiler 
guarantee that there will always be enough space between two jump 
targets for us to insert a trampoline jump. One way to guarantee that 
would be to align all jump targets to 16-byte boundaries (on x86 anyway).

I say this because I have a vague recollection that some of the more 
exotic llvm backends (webassembly?) may already have such a requirement, 
albeit for different reasons (to do with being able to statically 
analyze control flow), so the code for doing this might already be 
there, and maybe all it would take is a little tinkering with the 
codegen options to enable it.

Unfortunately, I don't remember the details of this, but someone on this 
list might...

pl


More information about the lldb-dev mailing list