[lldb-webkit] Non-empty strings may be pretty-printed as empty
authordbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jun 2018 23:17:45 +0000 (23:17 +0000)
committerdbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jun 2018 23:17:45 +0000 (23:17 +0000)
commit7d370eb4a8bdb6073aa45bde556ad848a11a8df6
tree8206e301f964bb5956e35e883fe6d5abb5e18c67
parent5d9697e57d54e6ff47a716116b9c18d0fa4ecc69
[lldb-webkit] Non-empty strings may be pretty-printed as empty
https://bugs.webkit.org/show_bug.cgi?id=187185

Reviewed by Simon Fraser.

For some reason lldb(1) sometimes has an issue accessing members of WTF::StringImplShape
via a WTF::StringImpl pointer (why?). Explicitly casting a WTF::StringImpl* to a
WTF::StringImplShape* before accessing such members makes LLDB happy.

I tried writing a test for this both for the LLVM project and to add to our lldb_webkit unit
tests to no avail. I have only been able to reproduce this bug sporadically during my WebCore/WebKit
debugging sessions so far.

* lldb/lldb_webkit.py:
(WTFStringImplProvider.__init__): Explicitly cast the WTF::StringImpl* to WTF::StringImplShape*.
(WTFStringImplProvider.get_data8): Update code now that we are directly accessing WTF::StringImplShape*.
(WTFStringImplProvider.get_data16): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233375 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools/ChangeLog
Tools/lldb/lldb_webkit.py