lldb에서이 작업을 수행하는 가장 쉬운 방법은 C++ 클래스에 "요약 포맷터"를 추가하는 것입니다. "타입 요약"섹션에 대한
http://lldb.llvm.org/varformats.html
봐 :이 웹 페이지는이 작업을 수행하는 방법에 꽤 좋은 소개를 제공합니다.
클래스의 ivar 값에 클래스에 대해보고 싶은 모든 것이 포함되어 있으면 LLDB Python API를 사용하지 않고도 ivar 값과 원하는 마크 업 텍스트를 제공하는 요약 문자열을 표시 할 수 있습니다 수업을 분해해라. 요약을 생성하기 위해 더 많은 작업을해야한다면, 트로이 목마가 제안한대로 Python API를 사용해야 할 것입니다.
예를 들어, C++ 클래스에 대한 "설명"메소드를 작성한 경우 LLDB의 Python API를 사용하여 해당 메소드를 호출하고 요약으로 문자열을 리턴 할 수 있습니다. 그러나 가능한 경우 디버거에서 코드를 실행하는 것이 일반적으로 메모리를 검사하는 것보다 느리기 때문에 클래스의 정적 지식에서 요약을 생성하는 것이 좋습니다.
LLDB Python 인터페이스를 사용하여 동일한 페이지에서 요약을 작성하는 방법에 대한 정보도 있습니다.
작성한 유형 요약을 .ldldbinit 파일에 추가 할 수 있으며 lldb에 클래스 인스턴스를 인쇄 할 때 요약 값이 표시되고 Xcode의 지역보기에 요약 열이 표시됩니다.
참고 : 모든 유형 (C, C++ 또는 ObjC)에서이 작업을 수행 할 수 있습니다. 많은 C++ STL 클래스와보다 일반적인 Foundation 클래스에는 동일한 메커니즘을 사용하는 기본 제공 요약이 있습니다. description 메소드가 아닌, lldb가 Xcode에서 볼 수있는 한 줄 개요를 생성하는 방법입니다.
Objective-C++에서 ** 사용되지 않는 C++ 클래스에 대해해야 할 일은 모두해야합니다. –
'description()'메소드를 추가하고 lldb에서 호출 할 수 있다는 것을 알고 있습니다. 나는 Xcode의 (AppCode의) 디버거 변수 개요를 명시 적으로 볼 수 있을지 궁금하다.'- description'을 구현하는 objective-c 클래스처럼 할 수있다. – yonix
저는 C++에서 파이썬으로 구현 된 lldb 확장을 사용해야한다고 생각합니다. – trojanfoe