Hi D community!
I'm here again, to describe what I've done during the thirteenth week of
Symmetry Autumn of Code. This week as a bit atypical as I got infected with
COVID-19 and this made me feel exhausted both physically and mentally.
Working approach to fetch basic types
After digging a bit about the problem I found out there is no problem
specifically in Release builds, and a simple function called Verify
is there
to double check if the type is correct for Debug builds. After fixing that
function, the LLDB can now dump some simple output about global TLS and non-TLS
variables:
(lldb) ta v
Global variables for app.d in app:
app.bar = <No TLS data currently exists for this thread.>
app.ptr = <could not resolve type>
app.foobar =
For now it only recognizes boolean types, but it can't show up the value since
LLDB doesn't know a way to dump it correctly.
You can try this version yourself using
this
branch.
Decoupling and trivial patches
I pushed a patch to decouple DWARF to LLDB encoding logic from Clang DWARF AST
Parser, along with a trivial fix about duplicate map assignment:
What is next?
I already started working on some helpers to fetch the LLDB Format, Encoding
and BasicType, along with other information about a type to properly display
them. I'm not sure how Milestone 4 is going to work, as I underestimated
the support for custom expessions.