,이 같이 작동 재사용 LLDB 파이썬 스크립트를 작성하고 싶습니다 :이 같은객체의 주소가 주어지면 LLDB Python 스크립트에서 Obj-C 메소드를 호출하는 방법은 무엇입니까? 의사 코드에서
get_super_class(int address) {
return ((id)address).getSuperClass();
}
를 호출 :
(lldb) get_super_class(0x123abc)
UIViewController
어떤 아이디어? 저는 파이썬 초보자입니다. 나는 내가 원하는 것에 가까이 다가 가려고하는 SBValue에 대한 문서에 뭔가가 있다고 생각 하겠지만, 만약 그렇다면 나는 그것을 보지 못한다.
그게 다야! 내가 사용한 라인은 다음과 같다 :'debugger.GetSelectedTarget(). GetProcess(). GetSelectedThread(). GetFrameAtIndex (0) .EvaluateExpression ('((id) 0x8b464a0)') 어떤 주소를 전달했는지에 대한 유효한 SBValue 객체를 반환한다. in. – kubi
참고 : 프레임 관련 정보가없는 표현식의 경우 프레임 관련 정보 대신 SBTarget :: EvaluateExpression()을 사용할 수 있습니다. 프레임의 컨텍스트에서 평가하는 것이 SBValue의 수명주기를 해당 스레드와 프레임에 고정시키는 것을 제외하고는 별 차이가 없습니다. –