charles-zablit wrote:

> I'll read this properly tomorrow, but -
> 
> > This is because ntdll executes an int3 breakpoint during process 
> > initialization when a debugger is attached.
> 
> Do you know why it does this, is it to give the debugger a chance to set 
> itself up?
> 
> If that is the case I'm curious what sorts of things that might be, 
> considering that we apparently haven't needed it so far.

It's indeed to give the debugger a chance to set itself up, and we do use it: 
in `integratedTerminal` mode we start the debuggee _paused_ and then we attach 
to it. This produces 2 breaks:
1. an attach break
2. the loader's debugger break (this is the one that shows up unexpectedly)

A regular launch (the debuggee spawns attached to the process) only has the 
second break.

https://github.com/llvm/llvm-project/pull/208233
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to