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 protected]> 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 protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/xcode-users/jingham%40apple.com > > This email sent to [email protected] _______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com This email sent to [email protected]
