labath added a comment.

In D96176#2547324 <https://reviews.llvm.org/D96176#2547324>, @augusto2112 wrote:

> In D96176#2546777 <https://reviews.llvm.org/D96176#2546777>, @labath wrote:
>
>> One alternative could be to just tack on some extra data to the existing 
>> vAttach family packets  (`vAttachWait;foo;interval:47;duration=74`).
>
> This was how I did it originally on https://reviews.llvm.org/D93895. 
> @clayborg pointed out that this might not be compatible with existing 
> lldb-server implementations, and suggested a new packet.

If we only append the extra fields when the user explicitly requests them, then 
I don't think this would be a compatibility issue. The way I see it, one of two 
things can happen in this case:
a) the server ignores the extra fields and completes the attach with the 
default values
b) the server balks at the packet, and returns an error
I think both of them are reasonable results and they can be fixed/worked around 
in the same way -- just drop the special requests...

>>> Lastly, this current implementation has a bug I couldn't figure out, where 
>>> if we're sending l an error response, lldb loses connection to lldb-server 
>>> (this happens even if the first thing I do in the handle_jAttachWait 
>>> function is return an error)
>>
>> I'm not sure that's a bug (i.e., lldb may be intentionally dropping the 
>> connection). What would you expect lldb to do when it gets an error response?
>
> To expand on the error, if I change `handle_vAttachWait` to immediately 
> return an error with string "foo", lldb will print out: `error: attach 
> failed: foo`, while if I do the same on `handle_jAttachWait` if will print 
> out: `error: attach failed: lost connection`, so we lose the error message.
>
>>> and, also, CTRL+C from lldb doesn't interrupt lldb-server. If anyone know 
>>> why this might be happening, I'd be glad to hear it.
>>
>> Seems to work for me (in that I get back to the lldb prompt and the server 
>> connection is terminated), if I press ^C **twice**.
>
> What I mean is that my new packet has these problems, and `vAttachWait` 
> doesn't. I'm confused because I believe I implemented all the parts the same 
> as the other `vAttach` functions.

Hm.. I don't know.. I guess you'll have to step through the code to find where 
it diverges...


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D96176

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

Reply via email to