[lldb-dev] sharing code between lldb and AddressSanitizer

Greg Clayton gclayton at apple.com
Wed Nov 30 14:56:34 PST 2011


Yes, LLDB can do this.

When you are symbolicating, are you symbolicating using an address from a live process, or just using the virtual addresses in an object file itself?

If you are symbolicating using an address from the file, we already have a little C++ example for you:

https://llvm.org/svn/llvm-project/lldb/trunk/examples/lookup/main.cpp

If you want to load a bunch of files from a process at the addresses they were at when a backtrace or sample was taken, let me know. The example would change a little bit, but not too much.

Greg Clayton


On Nov 29, 2011, at 5:56 PM, Kostya Serebryany wrote:

> Hello, 
> 
> I am working on integrating AddressSanitizer (aka asan, http://clang.llvm.org/docs/AddressSanitizer.html) run-time library with the llvm compiler-rt. 
> Asan needs to symbolize PCs, i.e. given a value of a PC it needs to produce the file name and the line number (if debug info is present). 
> Currently, this is achieved by printing the PCs as /path/to/object/file+offset and filtering the output with a script which uses addr2line/atos. 
> Ideally, symbolization should happen inside the process and should not require post processing. 
> 
> I would expect that lldb already has such functionality, right? 
> Somewhere in include/lldb/Symbol/Symtab.h?
> Does it work on both Linux and Mac? 
> Do you think that it is possible/desirable to have this kind of code sharing between lldb and asan? 
> Will that work with the current build system (where lldb and compiler-rt/lib/asan are separate subprojects)?
> 
> Thanks, 
> 
> --kcc 
> _______________________________________________
> 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