Ooh, Greg's version is much nicer... Jim
On Sep 3, 2013, at 6:49 PM, [email protected] wrote: > > 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
