다른 컴퓨터에서 컴파일 된 내 iOS 앱에 dylib가있는 프레임 워크가 있습니다. 나는 내 컴퓨터에서 소스를 체크 아웃하고 사용하여 소스 코드 경로를 매핑 lldb
을 지시 시도 :Xcode의 바이너리 dylib에 소스 연결하기
settings set target.source-map /source/code/path/in/dylib/prefix /source/code/path/on/my/machine/prefix
를 아무 소용이 여전히 어셈블리를보고.
참고 # 1 : dylib는 Xcode의 동일한 버전에서 C++ 코드로 컴파일되었습니다.
참고 # 2 : 파일 경로가 디버그 정보에 포함되어 있는지 확인하기 위해 nm -pa /path/to/dylib
을 사용했습니다. lldb는 어떤 이유로 든 작동하지 않습니다. https://medium.com/@maxraskin/background-1b4b6a9c65be
자세한 답장을 보내 주셔서 감사 드리며, 저는 실제로 dSYM이 누락되었습니다. 'add-dsym'을 사용하고 dSYM 경로를 지적한 다음,'image lookup -vn'을 사용하여 심볼 소스 코드 경로를 얻은 다음'settings set target.source-map/path/prefix '를 사용하여 매핑을 변경했습니다./i/got/from/lookup/path/prefix/on/my/machine'을 입력하십시오. –
이것을 자동화하기 위해 http://lldb.llvm.org/symbols.html의 지침을 사용합니다. –
btw - dylib의 디버그 빌드에서 dSYM이 필요하거나 dwarf 파일에 포함 된 동일한 데이터입니까? –