Anton, can you add this to
https://source.chromium.org/chromium/chromium/src/+/main:docs/linux/debugging.md
?

On Tue, Oct 11, 2022 at 10:19 AM Anton Bikineev <bikin...@chromium.org>
wrote:

> I'm now submitting a CL
> <https://chromium-review.googlesource.com/c/v8/v8/+/3945108> that adds
> some quick gdb helpers:
>
>   (gdb) source v8/tools/gdbinit
>   # Print Member:
>   (gdb) cpm *<member-name>*
>   # Print Compressed Pointer:
>   (gdb) cpcp *<compressed-32-bit-value>*
>
> It currently erases the pointee type, but this can be improved in the
> future.
>
> On Tue, Oct 11, 2022 at 4:05 PM Anton Bikineev <bikin...@chromium.org>
> wrote:
>
>> Which should hopefully be callable from the debugger and not eliminated
>>> by the linker?
>>
>> We can apply __attribute__((used,retain)) to make sure that the linker
>> doesn't strip the functions with --gc-sections, same as did
>> <https://chromium-review.googlesource.com/c/v8/v8/+/3932179> for V8
>> helpers (a week ago :) ). I'll prepare a CL.
>>
>> On Mon, Oct 10, 2022 at 8:45 PM Daniel Cheng <dch...@chromium.org> wrote:
>>
>>> For now, I guess it should be sufficient to add something
>>> to v8/include/cppgc/internal/member-storage.h like
>>>
>>> #ifndef NDEBUG  // DCHECK_IS_ON() would be nicer, but not sure what v8
>>> uses
>>> extern "C" void* DecompressPointerForDebugger(uint32_t value) {
>>>   return cppgc::internal::CompressedPointer::Decompress(value);
>>> }
>>> #endif
>>>
>>> Which should hopefully be callable from the debugger and not eliminated
>>> by the linker?
>>>
>>> Daniel
>>>
>>> On Mon, 10 Oct 2022 at 11:32, Stefan Zager <sza...@chromium.org> wrote:
>>>
>>>> I ran into this today, and it's pretty frustrating:
>>>>
>>>> (rr) p inner_node_
>>>>
>>>> $11 = {
>>>>
>>>>   <cppgc::internal::MemberBase> = {
>>>>
>>>>     raw_ = {
>>>>
>>>>       static kCompressedSentinel = 1,
>>>>
>>>>       value_ = 2148082696 <(214)%20808-2696>
>>>>
>>>>     }
>>>>
>>>>   },
>>>>
>>>>   <cppgc::internal::DisabledCheckingPolicy> = {<No data fields>}, <No
>>>> data fields>}
>>>> (rr) p inner_node_.Load()
>>>>
>>>> Couldn't find method blink::Member<blink::Node>::Load
>>>>
>>>> (rr) p inner_node_.raw_.Load()
>>>>
>>>> Cannot evaluate function -- may be inlined
>>>>
>>>> (rr) p
>>>> cppgc::internal::CompressedPointer::Decompress(inner_node_.raw_.value_)
>>>>
>>>> Cannot evaluate function -- may be inlined
>>>>
>>>> (rr)
>>>>
>>>> I found that I can avoid the issue with this in args.gn:
>>>>
>>>> cppgc_enable_caged_heap = false
>>>> cppgc_enable_pointer_compression = false
>>>>
>>>> ... but I would prefer a better solution.
>>>>
>>>> On Mon, Oct 10, 2022 at 10:22 AM Ian Kilpatrick <
>>>> ikilpatr...@chromium.org> wrote:
>>>>
>>>>> Is there a bug to follow regarding the debuggability of the pointers?
>>>>>
>>>>> Ian
>>>>>
>>>>> On Thu, Sep 22, 2022 at 11:10 AM Anton Bikineev <bikin...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> There is "cppgc::internal::CompressedPointer::Decompress(void*)". I
>>>>>> would, however, hide it behind a simpler name in .gdbinit.
>>>>>>
>>>>>> On Thu, Sep 22, 2022 at 5:51 PM Daniel Cheng <dch...@chromium.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Is there a callable C++ function that can turn a compressed pointer
>>>>>>> into the actual pointer value?
>>>>>>>
>>>>>>> Daniel
>>>>>>>
>>>>>>> On Thu, 22 Sept 2022 at 08:43, Anton Bikineev <bikin...@chromium.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> We have plans to provide more debugging tooling for Oilpan. I
>>>>>>>> haven't had a need to examine compressed pointers myself, however I see
>>>>>>>> that some simple gdb/windbg function that'd follow pointers would be 
>>>>>>>> useful.
>>>>>>>>
>>>>>>>> On Thu, Sep 22, 2022 at 1:14 AM Kentaro Hara <hara...@chromium.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> +Michael Lippautz <mlippa...@chromium.org>
>>>>>>>>>
>>>>>>>>> 2022年9月22日(木) 4:01 'Daniel Libby' via blink-dev <
>>>>>>>>> blink-dev@chromium.org>:
>>>>>>>>>
>>>>>>>>>> https://crrev.com/c/3835682 enabled pointer compression for
>>>>>>>>>> Blink Member<> pointers. How are folks handling these while
>>>>>>>>>> debugging (either live or crash dumps)? Is there some tooling 
>>>>>>>>>> available
>>>>>>>>>> that will look up and apply the cage base?
>>>>>>>>>>
>>>>>>>>>> I didn't see anything mentioned in
>>>>>>>>>> https://docs.google.com/document/d/1neGN8Jq-1JLrWK3cvwRIfrSjLgE0Srjv-uq7Ze38Iao/edit#
>>>>>>>>>> but maybe there are better known tools/techniques from v8 (which 
>>>>>>>>>> IIUC has
>>>>>>>>>> had compressed pointers for some time now).
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>> Google Groups "blink-dev" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>>> send an email to blink-dev+unsubscr...@chromium.org.
>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4b3e5bbb-134a-4483-9a1e-8e33fbc6f38en%40chromium.org
>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4b3e5bbb-134a-4483-9a1e-8e33fbc6f38en%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>>>>>> .
>>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "blink-dev" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to blink-dev+unsubscr...@chromium.org.
>>>>>>>>> To view this discussion on the web visit
>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABg10jxSdx3JzWvTC2j7RUEcw01P9gTRhT%3DnftwehY3br4qNWA%40mail.gmail.com
>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABg10jxSdx3JzWvTC2j7RUEcw01P9gTRhT%3DnftwehY3br4qNWA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "blink-dev" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to blink-dev+unsubscr...@chromium.org.
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udYH6VGy8Ooz6ZLZWpWR_LjjQfu1xh-AMBvWoyAnArojbA%40mail.gmail.com
>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udYH6VGy8Ooz6ZLZWpWR_LjjQfu1xh-AMBvWoyAnArojbA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "blink-dev" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to blink-dev+unsubscr...@chromium.org.
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udZS_4iw6Vhb%3Dtf0J9qgV%3DbwbcWAu%2B--Xt9dYrDpqDecXw%40mail.gmail.com
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udZS_4iw6Vhb%3Dtf0J9qgV%3DbwbcWAu%2B--Xt9dYrDpqDecXw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "blink-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to blink-dev+unsubscr...@chromium.org.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQ%2BiPOAMX6ONDxRm9UG0zFRkScw1%3DdALFGdKJOUiAUpEw%40mail.gmail.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQ%2BiPOAMX6ONDxRm9UG0zFRkScw1%3DdALFGdKJOUiAUpEw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udZ7rMMqmsZ98RbS21yG_DBXXtnoOVYnO4oV%3Dno3tFvNug%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udZ7rMMqmsZ98RbS21yG_DBXXtnoOVYnO4oV%3Dno3tFvNug%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHgVhZWN15bg8nzz8mygH%3D99ZHeEu5gGbyQc_xKAO%2BuGJ7WhcQ%40mail.gmail.com.

Reply via email to