2016-08-11 5 views
1

Objective-C 코드를 디버깅 할 때 lldb는 objc_msgSend에 대한 호출을 건너 뛰고 호출되는 실제 메소드에서 중지합니다.디버깅 도중 - [NSInvocation invoke]로 바꿈

NSInvocation을 사용하는 일부 코드를 디버깅 할 때 비슷한 동작을하고 싶습니다. -[NSInvocation invoke]이 호출되는 지점에 도달하면 'step-in'명령을 만들고 objc_msgSend, -[NSInvocation invoke], __invoking___objc_msgSend을 건너 뛰고 실제 방법으로 착륙하고 싶습니다.

이 작업을 수행하는 데 사용할 수있는 일부 LLDB 설정이 있습니까?

답변

0

lldb에는 NSInvocation에 대한 기본 지원이 없습니다.

그렇게 생각하시는 분은이 문제에 대해 버그를 신고하시기 바랍니다. ObjC에만 한정되어 있으므로 http://bugreporter.apple.com으로 파일을 작성하는 것이 좋습니다.

+1

https://openradar.appspot.com/radar?id=6097195182850048로 신고되었습니다. 한편, 파이썬 바인딩을 사용하여 LLDB 용 사용자 정의 스레드 계획을 작성하여이를 수행 할 수 있는지 조사 할 예정입니다. http://lldb.llvm.org/python-reference.html "Python API를 사용하여 사용자 정의 단계 논리 만들기"를 참조하십시오. 어떤 도움을 주셔서 감사합니다. – kjam

+0

가능해야합니다. 질문이 있으시면, lldb-dev리스트가 아마도 최상의 자원 일 것입니다 : [email protected] SB 계획의 한계점 중 하나는 현재 스레드 계획에서 함수를 호출 할 수 없다는 것입니다. 그러나 당신이 그것을 할 필요가 있는지 아닌지는 알 수 없습니다. –