Hi, Try to run the code with trunk LLVM/Clang. If the problem remains with the latest Clang, then you'd have to wait a bit more - I have a tentative change that is expected to improve debug info for local variables, but it's not in the trunk yet.
On Fri, Oct 31, 2014 at 5:01 PM, texsetter <[email protected]> wrote: > Hi, > I'm having the same problem but with llvm 3.5.0 on osx 10.9.5... > > any suggestion? > > thanks > > > On Wednesday, July 16, 2014 3:41:39 AM UTC+2, Shiny Teng wrote: >> >> Hi experts, >> I'm using llvm3.4.1 on OSX 10.9.3. >> My codes, >> >> // longstack.cc >> int* a; >> void foo(int n) >> { >> a[n]++; >> foo(++n); >> } >> int main(int argc, char** argv) { >> a = new int[30]; >> foo(0); >> } >> >> Build: >> /usr/local/Cellar/llvm34/3.4.1_1/bin/clang++-3.4 -O0 -g >> -fsanitize=address longstack.cc -o ./longstack >> >> Debug: >> (lldb) target create ~/Test\ Projects/clang/longstack >> Current executable set to '~/Test Projects/clang/longstack' (x86_64). >> (lldb) run --stop-at-entry >> Process 65604 launched: '/Users/tengxiang/Test Projects/clang/longstack' >> (x86_64) >> Process 65604 stopped >> * thread #1: tid = 0xa5879, 0x00007fff5fc01028 dyld`_dyld_start, stop >> reason = exec >> frame #0: 0x00007fff5fc01028 dyld`_dyld_start >> dyld`_dyld_start: >> -> 0x7fff5fc01028: popq %rdi >> 0x7fff5fc01029: pushq $0 >> 0x7fff5fc0102b: movq %rsp, %rbp >> 0x7fff5fc0102e: andq $-16, %rsp >> (lldb) b foo >> Breakpoint 1: where = longstack`foo(int) + 291 at longstack.cc:5, address >> = 0x0000000100000ab3 >> (lldb) c >> Process 65604 resuming >> Process 65604 stopped >> * thread #1: tid = 0xa5879, 0x0000000100000ab3 >> longstack`foo(n=<unavailable>) + 291 at longstack.cc:5, queue = >> 'com.apple.main-thread, stop reason = breakpoint 1.1 >> frame #0: 0x0000000100000ab3 longstack`foo(n=<unavailable>) + 291 at >> longstack.cc:5 >> 2 >> 3 void foo(int n) >> 4 { >> -> 5 a[n]++; >> 6 foo(++n); >> 7 } >> 8 >> (lldb) p n >> error: Couldn't materialize struct: size of variable n disagrees with the >> ValueObject's size >> Errored out in Execute, couldn't PrepareToExecuteJITExpression >> >> See I can't print variable's value. And bt won't show parameters' value, >> looks like >> frame #0: 0x0000000100000ab3 longstack`foo(n=<unavailable>) + 291 at >> longstack.cc:5 >> >> And then I tried remove -fsanitize=address, like >> /usr/local/Cellar/llvm34/3.4.1_1/bin/clang++-3.4 -O0 -g longstack.cc -o >> ./longstack >> >> It prints in lldb, >> (lldb) p n >> (int) $0 = 258504 >> >> Did I miss anything? Or is there a way to print variables in asan-ified >> executables in debugging? >> >> Regards, >> -xiang >> > -- > You received this message because you are subscribed to the Google Groups > "address-sanitizer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Alexey Samsonov, Mountain View, CA -- You received this message because you are subscribed to the Google Groups "address-sanitizer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
