Greetings,
I have a custom TCF agent which maps dwarf data from a proprietary file into something usable to the TCF agent.
I have an issue regarding static member variables of the form MyClass::uFoo. When a variable is entered into the Expressions view my _expression_ evaluation is not getting the MyClass class from the dwarf data in the appropriate context.
I am not certain at what point during the _expression_ evaluation is expecting to handle the ‘class MyClass’ type.
In my analysis:
·
The first lookup of MyClass is called by find_symbol_by_name() in symbols_mux.c.
·
My custom find_symbol_by_name() is called via the SymbolReader from symbols_mux.c
·
The current implementation of the custom find_symbol_by_name() contains switch(pObj->mTag) statement ignores the TAG_class_type and TAG_structure_type.
·
The logic in the custom find_symbol_by_name() only returns these tags:
TAG_variable
TAG_global_variable
TAG_formal_parameter
TAG_unspecified_parameters
TAG_local_variable
I hired someone else to write this custom agent and I’m trying to correct it. Budget and other circumstances won’t let me go back to the original programmer at this time. I have little experience with the agent code. Perhaps referencing
the code which handles casting or scoping based when an identifier is a class?
One approach would be to reverse engineer the intended behavior by tracing the execution of the standard TCF agent.
I presume I would need to building a standard ELF file for Linux. I’m more of a Windows programmer so that would take some time.
Any other suggestions how to approach this?
Regards,
J.R. Heisey
Staff Software Engineer
Synaptics Inc
+1 408-904-1598