[lldb-dev] lldb/llvm debug info for methods

Jason Molenda jason at molenda.com
Thu Mar 21 12:16:47 PDT 2013


I'm not sure what you mean when you can't step through a method.  You might want to show an example from an lldb debug session where something is not working as you expected.

For the best behavior unwinding the stack, lldb needs to know the start addresses of every function in a file.  Often times a file can get stripped of some of its (non-exported) symbols -- but in Mach-O binaries there is a separate section (LC_FUNCTION_STARTS) which doesn't get stripped out and provides the start address of every function in the file.  This information can also be gotten from the eh_frame unwind information if that is present.  lldb uses these sources of information to supplement the symbol table and add these "unnamed_function" symbols when it reads in the object file.

J

On Mar 21, 2013, at 11:33 AM, Carlo Kok wrote:

> With http://pastebin.com/Rzwa5Bx7 why does LLDB show:
> ___lldb_unnamed_function1$$tempexee10f7bb9b9eb4728a5d78008878bdccd-ConsoleApplication104 
> 
> in the callstack for the @async and @"<main>b__0" methods?
> 
> 
> all 3 functions have a debug info record
> and the main() method works fine, I can step through it etc.
> async/@"<main>b__0" i cannot, yet they have debug info records associated.
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev





More information about the lldb-dev mailing list