Re: Possible Workaround for "Couldn't Materialize Struct"
Re: Possible Workaround for "Couldn't Materialize Struct"
- Subject: Re: Possible Workaround for "Couldn't Materialize Struct"
- From: email@hidden
- Date: Thu, 16 Apr 2015 09:37:34 -0700
I'm not sure why you might be experiencing this more frequently - maybe you are just noticing it more frequently... After all, all the "volatile" registers - i.e. those that are not preserved across function calls - are not recoverable in any frame but the zeroth frame. rdx is a volatile register (it's used for argument passing among other things.)
One point of confusion might be that gdb's behavior for unrecoverable registers was to attribute their value in all older frames to the last known value (for volatile registers that's frame 0...) Since that value was very often not their actual value when that frame was left, doing this silently caused lots of confusion... So lldb just reports them as "unavailable". But this has been true of lldb for quite a long while now.
So your workaround is just employing the only way the debugger could get these values accurately.
Jim
> On Apr 15, 2015, at 7:57 PM, Jerry Krinock <email@hidden> wrote:
>
> During the last year or so, lldb has been increasingly been giving me the dead—end “Couldn’t materialize struct” when I select an external framework (e.g. Apple) function in a call stack and try to print registers. Example:
>
> (lldb) po $rdx
> error: Couldn't materialize: couldn't read the value of register rdx
> Errored out in Execute, couldn't PrepareToExecuteJITExpression
>
> Today I was able to work around one of these by setting a symbolic breakpoint in the method of interest (so it’s now going to be at the top of the call stack) and executing the code again. po $rdx then printed my argument.
>
>
> _______________________________________________
> 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