[lldb-dev] get function name from dwarf info
Carlo Kok via lldb-dev
lldb-dev at lists.llvm.org
Fri Oct 7 07:32:14 PDT 2016
>> How do I get the dw_at_name field? I don't need lldb to decypher the
>> mangling I use, I just want access to the linkage name and real encoded
>> name?
>>
>> Also how do I get the type this is contained in (presuming there is one
>> ofc)?
> I am not sure what you are trying to do. Can you elaborate a little.
I have a custom language where it's ~ equivalent to the c++ class:
class TEST{
private:
int INSTANCEFIELD;
static int STATICFIELD;
public:
void INSTANCEMETHOD() {
INSTANCEFIELD++;
}
static void STATICMETHOD() {
STATICFIELD++;
}
};
the name "STATICMETHOD" is properly encoded in the dwarf debug info
(where linkage name is the mangled name). I want "STATICMETHOD" back as
it would be encoded in DW_AT_NAME.
I also want to get the SBType for "TEST" when I have the SBFunction for
INSTANCEMETHOD/STATICMETHOD.
Both things are properly encoded in dwarf (as matching the c++ output),
however I can't seem to find the right SB method to get it.
>
>>
>> Lastly: How do I encode if a method is static or not, I couldn't find
>> any difference in what C++ does for instance vs static.
>
> There is "DW_AT_object_pointer". Debuggers can also make that decision
> based on presence of "this" parameter.
>
Thanks.
--
Carlo Kok
RemObjects Software
More information about the lldb-dev
mailing list