Re: po $rdi ==> "Couldn't materialize"
Re: po $rdi ==> "Couldn't materialize"
- Subject: Re: po $rdi ==> "Couldn't materialize"
- From: email@hidden
- Date: Tue, 22 Jul 2014 11:12:48 -0700
All the registers you list here are "volatile" registers in the x86_64 ABI. That is, they are not preserved across function calls. So they are not reconstructible above frame 0 on the stack. gdb used to just report the 0th frame value and hope that was right, but that tended to be very confusing when it was wrong, so lldb doesn't do that, it just reports them as unavailable. The error message is not very accurate in this case, be better to say "could not reconstruct" rather than "could not read." If you issue the "register read" command, it will show you only the registers it can reconstruct, if you want to verify this.
OTOH, if you ARE looking at the values of these registers at frame 0, then something weird is going on, and please file a bug about that.
Jim
> On Jul 22, 2014, at 10:38 AM, Jerry Krinock <email@hidden> wrote:
>
> Hello,
>
> For the past several months, I’ve been unable to print registers while debugging a large project I spend most of my time on. Here’s what happens:
>
> (lldb) po $rdi
> error: Couldn't materialize: couldn't read the value of register rdi
> Errored out in Execute, couldn't PrepareToExecuteJITExpression
> (lldb) p (SEL)$rsi
> error: Couldn't materialize: couldn't read the value of register rsi
> Errored out in Execute, couldn't PrepareToExecuteJITExpression
> (lldb) po $rdx
> error: Couldn't materialize: couldn't read the value of register rdx
> Errored out in Execute, couldn't PrepareToExecuteJITExpression
> (lldb) po $rcx
> error: Couldn't materialize: couldn't read the value of register rcx
> Errored out in Execute, couldn't PrepareToExecuteJITExpression
> (lldb) po $r8
> error: Couldn't materialize: couldn't read the value of register r8
> Errored out in Execute, couldn't PrepareToExecuteJITExpression
> (lldb) po $r9
> error: Couldn't materialize: couldn't read the value of register r9
> Errored out in Execute, couldn't PrepareToExecuteJITExpressionion
>
> This seems to happen no matter what source I click on in the call stack: one of my methods, a Cocoa method, or an Apple non-public method.
>
> Can anyone explain this? It happens in both Xcode 5.1 and Xcode 6 beta.
>
> Thanks,
>
> Jerry
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Xcode-users mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden