[lldb-dev] No machine instructions loaded for symbols or target (python api)

Greg Clayton via lldb-dev lldb-dev at lists.llvm.org
Tue Nov 17 10:07:16 PST 2015


It sounds like the symbols in the symbol table don't have valid sizes when they really should. What kind of executable are you debugging? A PECOFF file? If so, you should take a look at and fix the code in:

Symtab *
ObjectFilePECOFF::GetSymtab()

What we do for mach-o is to parse the symbol table first and then run back through all symbols, and any symbol that have a size of zero, set their sizes to the delta between the current symbol and the next addressed symbol. Since the symbols are usually out of order address wise, we run through all symbols that have addresses and add their indexes to a std::vector, then sort the vector of address indexes, and then we can do the above fixups.

Greg Clayton


> On Nov 17, 2015, at 4:21 AM, kwadwo amankwa via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> 
> Hi,
> I'm building an application on windows using the python api. I need to be able to access a code symbols instructions but when I launch the process the symbol has no instructions. I can manually read the symbols address space but the symbol also has no end_addr set which makes it difficult to tell where the symbol ends .
> Can anybody help me to find out how to generate the instructions when the process is loaded ?
> 
> cheers,
> 
> Que
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev



More information about the lldb-dev mailing list