The type name for "Ty" might have a newline in it. Try this:

   res = frame.EvaluateExpression("%s->dump()" % command)
   print >>result, 'typename = "%s"' % (res.GetType().GetName())
   print >>result, res

See if the double quote is on the next line.

> On Aug 22, 2015, at 11:58 AM, Ramkumar Ramachandra via lldb-dev 
> <lldb-dev@lists.llvm.org> wrote:
> 
> Hi,
> 
> My script is simple enough:
> 
> import lldb
> 
> def pp(debugger, command, result, internal_dict):
>    target = debugger.GetSelectedTarget()
>    process = target.GetProcess()
>    thread = process.GetSelectedThread()
>    frame = thread.GetSelectedFrame()
>    res = frame.EvaluateExpression("%s->dump()" % command)
>    print >>result, res
> 
> def __lldb_init_module(debugger, internal_dict):
>    debugger.HandleCommand('command script add -f llvm_pp.pp pp')
>    print "Command pp installed"
> 
> However, when I execute it:
> 
> (lldb) pp Ty
> Fn(Void -> Int)*
> = <unknown error>
> 
> When I use res.GetSummary() in place of res, I get "None" instead of
> the error. What is this trailing data anyway, and how do I get rid of
> it?
> 
> Thanks.
> 
> Ram
> _______________________________________________
> lldb-dev mailing list
> lldb-dev@lists.llvm.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_lldb-2Ddev&d=BQIGaQ&c=eEvniauFctOgLOKGJOplqw&r=e494ZqshU04UaasD49FjA8X8-41XrPe2DEAUCC4uIBA&m=hREFWCzPJ65eZn31OtjvanOAmZpkHcfxvRV-A7W-jcA&s=ZDMXskG0jb4bfdKZu5O9l2rpbV149UaUmFNvWw1LrRY&e=
>  

_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to