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.

Reply via email to