labath wrote:
> Given all of this, I think we need to make a decision: do expect stub to
> support reference counted breakpoints or not?
> This is why my vote, whatever its worth, would be to fix this on the lldb
> side, and ideally revert this patch in the mean time.
I've created #195652 for that, which we can submit if we come to some sort of a
consensus.
Another issue I noticed when playing around with this is that the packet log
for expression evaluation contains a lot of disable-enable breakpoint packet
pairs:
```
ldb < 21> send packet: $z0,7ffff7cb3290,1#cc
lldb < 6> read packet: $OK#9a
lldb < 21> send packet: $z0,7ffff7cb32e0,1#f8
lldb < 6> read packet: $OK#9a
lldb < 21> send packet: $z0,7ffff7cb1d50,1#f8
lldb < 6> read packet: $OK#9a
lldb < 21> send packet: $z0,555555555040,1#a4
lldb < 6> read packet: $OK#9a
lldb < 21> send packet: $Z0,7ffff7cb3290,1#ac
lldb < 6> read packet: $OK#9a
lldb < 21> send packet: $Z0,7ffff7cb32e0,1#d8
lldb < 6> read packet: $OK#9a
lldb < 21> send packet: $Z0,7ffff7cb1d50,1#d8
lldb < 6> read packet: $OK#9a
b-remote.async> < 21> send packet: $vCont;c:p11810.-1#d9
```
These correspond to internal breakpoints (which I guess are somehow re-enabled
for every expression):
```
(lldb) breakpoint list -i
Current breakpoints:
Kind: shared-library-event
-1: names = {'_dl_debug_state', 'rtld_db_dlactivity',
'__dl_rtld_db_dlactivity', 'r_debug_state', '_r_deb
ug_state', '_rtld_debug_state'}, language = c, module = ld-linux-x86-64.so.2,
locations = 1, resolved = 1
, hit count = 2
-1.1: where = ld-linux-x86-64.so.2`_dl_debug_state, address =
0x00007ffff7fc87e0, resolved, hit count =
2
Kind: c++ exception
-2: names = {'__cxa_throw', '__cxa_rethrow', '__cxa_allocate_exception'},
locations = 3 Options: disabled
-2.1: where = libstdc++.so.6`__cxxabiv1::__cxa_throw(void *, std::type_info
*, void (*)(void *)) at eh_
throw.cc:80:1, address = 0x00007ffff7cb3290, unresolved, hit count = 0
-2.2: where = libstdc++.so.6`__cxxabiv1::__cxa_rethrow() at
eh_throw.cc:103:1, address = 0x00007ffff7cb
32e0, unresolved, hit count = 0
-2.3: where =
libstdc++.so.6`__cxxabiv1::__cxa_allocate_exception(std::size_t) at
eh_alloc.cc:395:1, ad
dress = 0x00007ffff7cb1d50, unresolved, hit count = 0
```
This isn't necessarily a (correctness?) issue, but it strikes me as rather odd
as the goal of this patch series is to reduce the number of breakpoint packets.
And the patch contains code which seems to try to prevent these, so I'm
wondering if this is actually working as intended.
https://github.com/llvm/llvm-project/pull/192971
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits