facebook / chisel

Chisel is a collection of LLDB commands to assist debugging iOS apps.
MIT License
9.13k stars 803 forks source link

'pca' command not work #264

Closed oschanger closed 5 years ago

oschanger commented 5 years ago

I tried 'pca' command on backboard/Springboard/my app, all not work.

(lldb) pca error: error: Execution was interrupted, reason: signal SIGABRT. The process has been returned to the state before expression evaluation.

This not work too

(lldb) po [NSString stringWithCString:(char *)CARenderServerGetInfo(0, 2, 0)] error: Execution was interrupted, reason: internal ObjC exception breakpoint(-3).. The process has been returned to the state before expression evaluation.

kastiglione commented 5 years ago

Which version of the OS? Maybe the private function was removed or changed.

kastiglione commented 5 years ago

@kolinkrewinkel maybe pca should be removed. I doubt anyone uses it, especially if it's become bitrotted.

oschanger commented 5 years ago

i'm using it, lol. My version is iphone8p 12.1.2 i reversed QuartzCore and see the function is still there. But i don't know any other way to invoke this

oschanger commented 5 years ago

i'm tring to understand mechanism of render-server. so it's useful to me

kastiglione commented 5 years ago

It's great that you're getting use of it. I think the vast majority of chisel users wouldn't use it.

One thing about chisel is that many of its commands can be implemented as simple aliases, and pca is one of them. You could add this to your ~/.lldbinit:

command alias pca p (char*)CARenderServerGetInfo(0, 2, 0)

As far as getting this to work, try fiddling with the values. It's a private function, maybe they added a parameter, or removed a parameter. Also maybe it doesn't return char * any more.