[lldb-dev] one more bug in evaluation

Andrey Zaytsev andrey.zaytsev at jetbrains.com
Wed Dec 14 17:02:14 PST 2011


On 15.12.2011, at 2:55, Sean Callanan wrote:

> Andrey,
> 
> are you able to reproduce this regularly?  I get the following error:
>> (lldb) p *(std::pair<int, int> *)0x000000010083ea00
> error: no member named 'pair' in namespace 'std'
> error: expected '(' for function-style cast or type construction
> error: expected '(' for function-style cast or type construction
> error: expected expression
> error: 4 errors parsing expression

I saw this error in LLDB-76. Try it with LLDB-92 and let me know if you will not get the crash.

>> If I typedef it to pair_t, I get
>> (lldb) p *(pair_t*)0x000000010083ea00
> (pair_t) $0 = {
>  (int) first = 0
>  (int) second = 0
> }

This works.
But I'm implementing displaying of stl containers and I need the ability to read object from specified address.
Reading that pair was needed for std::map.
Please fix it if you can ;-) 

Thank you.

>> If you can get me a reproducible test case I'd be happy to debug it.
> 
> Sean
> 
> On Dec 14, 2011, at 2:33 PM, Andrey Zaytsev wrote:
> 
>> Hi!
>> 
>> I've tried to evaluate something like 
>> (lldb) p *(std::pair<int, int> *)0x000000010083ea00
>> 
>> Program received signal EXC_BAD_ACCESS, Could not access memory.
>> Reason: KERN_INVALID_ADDRESS at address: 0x000000000000001c
>> [Switching to process 2364 thread 0x260b]
>> 0x0000000100371a14 in clang::ASTContext::getASTRecordLayout ()
>> (gdb) bt
>> #0  0x0000000100371a14 in clang::ASTContext::getASTRecordLayout ()
>> #1  0x00000001002ca57e in clang::ASTContext::getTypeInfo ()
>> #2  0x00000001002ca4ec in clang::ASTContext::getTypeInfo ()
>> #3  0x00000001002ca4ec in clang::ASTContext::getTypeInfo ()
>> #4  0x00000001012bc42d in clang::ASTContext::getTypeInfo ()
>> #5  0x00000001012bcbd5 in clang::ASTContext::getTypeSize ()
>> #6  0x00000001012ba04c in lldb_private::ClangASTType::GetClangTypeBitWidth ()
>> #7  0x00000001012b9ff0 in lldb_private::ClangASTType::GetClangTypeBitWidth ()
>> #8  0x000000010113a573 in IRForTarget::CreateResultVariable ()
>> #9  0x000000010114553e in IRForTarget::runOnModule ()
>> #10 0x0000000101112b20 in lldb_private::ClangExpressionParser::PrepareForExecution ()
>> #11 0x000000010111cf5a in lldb_private::ClangUserExpression::Parse ()
>> #12 0x000000010111ebe8 in lldb_private::ClangUserExpression::EvaluateWithError ()
>> #13 0x000000010111e87a in lldb_private::ClangUserExpression::Evaluate ()
>> #14 0x000000010135168e in lldb_private::Target::EvaluateExpression ()
>> #15 0x0000000100fc54af in lldb_private::CommandObjectExpression::EvaluateExpression ()
>> #16 0x0000000100fc6107 in lldb_private::CommandObjectExpression::ExecuteRawCommandString ()
>> #17 0x00000001011830e0 in lldb_private::CommandInterpreter::HandleCommand ()
>> #18 0x00000001001ec154 in lldb::SBCommandInterpreter::HandleCommand (this=0x104c86d40, command_line=0x1049473f8 "p *(std::pair<int, int> *)0x000000010083ea00", result=@0x104c86d38, add_to_history=true) at /Users/zajac/Projects/lldb-92/source/API/SBCommandInterpreter.cpp:97
>> #19 0x00000001000870ba in jetcidr::DebugSession::HandleConsoleCommand (this=0x102c237e0, command=@0x10498b9a0, err=0x104c86de0, out=0x104c86dd8) at /Users/zajac/Projects/ULTIMATE/CIDR/LLDBProtobufFrontend/LLDBProtobufFrontend/src/DebugSession.cpp:611
>> 
>> 
>> Andrey Zaytsev
>> JetBrains, Inc 
>> http://jetbrains.com
>> Develop with pleasure!
>> 
>> 
>> _______________________________________________
>> 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