On Sep 3, 2013, at 6:29 PM, Yin Ma <[email protected]> wrote:

> Hi Jim,
> 
> Thank you for your help.
> 
> I tried image lookup -va $pc on my lldb.
> I got 
> error: invalid address string '$pc'
> 
> I am using lldb-179.3, is your version much higher than mine?

Yes. The -a option values were changed to be "address expressions" rather than 
just straight addresses, certainly in the current LLDB TOT, but also in the 
lldb from any of the Xcode 5 beta's as well.

> 
> Do you know any method that I can retrieve the source file list
> from lldb?

If you don't mind writing some Python, you can do something like:

def PrintCompUnitNames (target):
    num_modules = target.GetNumModules()
    for mod_idx in range(num_modules):
        module = lldb.target.GetModuleAtIndex(mod_idx)
        print "Module: ", module
        num_comp_units = module.GetNumCompileUnits()
        for idx in range(num_comp_units):
                print module.GetCompileUnitAtIndex(idx)

That's pretty rough, you probably don't care about printing modules without 
compile units.  This also won't print .h files that get inlined into your code. 
 You can get the "support files" from an SBCompileUnit, which should list all 
the included files, but that will have lots of duplication so you should maybe 
put them in a unique list.  But something like this should do.

Jim


> 
> Yin 
> 
> 
> 
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] 
> Sent: Tuesday, September 03, 2013 6:15 PM
> To: Yin Ma
> Cc: [email protected]
> Subject: Re: [lldb-dev] help for lldb command like gdb info sources & info 
> source
> 
> There isn't an equivalent of "info sources" yet.
> 
> There is a rough equivalent of "info line" (listed in the gdb->lldb cheat 
> sheet at http://lldb.llvm.org/lldb-gdb.html), which is to do:
> 
> (lldb) image lookup -va $pc
>     ...
>     LineEntry: [0x000000010001a98e-0x000000010001a99f): /Work/Foo.c:11
>     ...
> 
> It isn't as good as "info line" because it only gives the address range from 
> the given source line that surrounds the address passed to the lookup 
> command.  It doesn't answer the question "what are ALL the address ranges 
> that contribute to the implementation of this source line?"
> 
> Hope this helps, 
> 
> Jim
> 
> 
> On Sep 3, 2013, at 4:58 PM, Yin Ma <[email protected]> wrote:
> 
>> Hi,
>> 
>> Could anyone let me know what is the lldb command
>> to show all source files like gdb info sources and
>> the command to show the source file info of the
>> current $pc location?
>> 
>> Thanks,
>> 
>> Yin
>> 
>> _______________________________________________
>> lldb-dev mailing list
>> [email protected]
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> 

_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to