[webkit-dev] dump-class-layout script not working
Simon Fraser
simon.fraser at apple.com
Mon Nov 5 11:39:42 PST 2018
I assume you've actually done a debug build?
Your command line works for me:
100$ $ ./Tools/Scripts/dump-class-layout --architecture=x86_64 -c Debug JavaScriptCore JSString
+0 < 24> JSString
+0 < 8> JSC::JSCell JSC::JSCell
+0 < 1> JSC::HeapCell JSC::HeapCell
+0 < 4> JSC::StructureID m_structureID
+4 < 1> JSC::IndexingType m_indexingTypeAndMisc
+5 < 1> JSC::JSType m_type
+6 < 1> JSC::TypeInfo::InlineTypeFlags m_flags
+7 < 1> JSC::CellState m_cellState
+8 < 4> unsigned int m_length
+12 < 2> uint16_t m_flags
+14 < 2> <PADDING: 2 bytes>
+16 < 8> WTF::String m_value
+16 < 8> WTF::RefPtr<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> > m_impl
+16 < 8> WTF::DumbPtrTraits<WTF::StringImpl>::StorageType m_ptr
Total byte size: 24
Total pad bytes: 2
Padding percentage: 8.33 %
BTW you should never work on class layouts in debug builds, since they may be different from shipping.
There are some unit tests for dump-class-layout (they used to be run as part of webkitpy tests, but I think Dan changed that?). Do all the tests pass for you?
Simon
> On Nov 5, 2018, at 4:02 PM, Frank Jaeger <fjaeger77 at outlook.com> wrote:
>
> Hi Simon, thanks for your help. I am running the script on macOS Mojave 10.14 and I'm pretty sure I have the lldb python bindings installed. Or otherwise it should fail when importing them at the beginning of the script, right? From what I understood by reading the script's code, it is directly calling into the lldb binding to dump the class layout, and it's failing inside.
>
> As I've said before, the error it gives me implies that the provided framework/class pair has not been found in the image, even though I am sure that the pair is valid and found in the image (e.g. JSC::JSString).
> Da: simon.fraser at apple.com <simon.fraser at apple.com> per conto di Simon Fraser <simon.fraser at apple.com>
> Inviato: lunedì 5 novembre 2018 14:17
> A: Frank Jaeger
> Cc: webkit-dev at lists.webkit.org
> Oggetto: Re: [webkit-dev] dump-class-layout script not working
>
> Dump-class-layout uses the lldb python bindings. Maybe those are not available on your platform?
>
> I think we’ve only ever tried it on macOS. What platform are you trying on?
>
> Simon
>
>> On Nov 4, 2018, at 12:43 PM, Frank Jaeger <fjaeger77 at outlook.com <mailto:fjaeger77 at outlook.com>> wrote:
>>
>> Hello. First of all I'm really sorry if this is the wrong mailing list to post to, webkit-help would have probably been better but it doesn't seem very active.
>>
>> I run into some problems while trying to use the dump-class-layout script (found in Tools/Scripts/). I built WebKit using the build-webkit script with the --debug flag.
>>
>> After building, I tried to run the dump-class-layout script with the following arguments:
>>
>> ./Tools/Scripts/dump-class-layout --architecture=x86_64 -c Debug JavaScriptCore JSString
>>
>> I also tried different frameworks and classes. The script always fails telling me that "no type matches x in y" where x is the class name I used in the run and y is the framework name.
>>
>> Why is this happening? The script is correctly finding the built and symbolicated framework image, so why is it not working properly? Thanks in advance.
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org <mailto:webkit-dev at lists.webkit.org>
>> https://lists.webkit.org/mailman/listinfo/webkit-dev <https://lists.webkit.org/mailman/listinfo/webkit-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20181105/f3e54090/attachment.html>
More information about the webkit-dev
mailing list