2012-08-17 2 views

답변

13

lldb의 명령은 "이미지 조회"입니다. "info func"< -> "image lookup"의 예가 최근에 lldb/gdb 명령 페이지에 추가 된 것 같습니다 - http://lldb.llvm.org/lldb-gdb.html

이 비록

(lldb) im loo -n puts 
1 match found in /usr/lib/system/libsystem_c.dylib: 
     Address: libsystem_c.dylib[0x0000000000011d9a] (libsystem_c.dylib.__TEXT.__text + 69850) 
     Summary: libsystem_c.dylib`puts 
(lldb) 

는 당신에게 여기 libsystem_c.dylib 오프셋 (0x11d9a)를 보여주고있다 - 당신이 범위를 표시합니다 이미지 검색에 "-v"옵션을 사용할 필요가 실제로드 주소를보고 커버하는 주소의 또는 당신은 내가 lldb 여기에 함수 프로토 타입을 필요로했기 때문에() 풋 캐스팅했다

(lldb) reg read pc 
    rip = 0x0000000100000f2b a.out`main + 11 at a.c:3 
(lldb) reg write pc `(void(*)())puts` 
(lldb) reg read pc 
    rip = 0x00007fff99ce1d9a libsystem_c.dylib`puts 

OK, lldb에서 다시 틱 표기법과 더 직접적으로이 작업을 수행 할 수 - 슈퍼 불편을하지만, 자신의 기능 중 하나 인 경우 그 필요하지 않습니다 :

(lldb) reg write pc `main` 
(lldb) reg read pc 
    rip = 0x0000000100000f20 a.out`main at a.c:2 
관련 문제