본문 바로가기

카테고리 없음

chromium android VD에서 lldb 사용하기

lldb 란

gdb랑 비슷함.

https://aaronbloomfield.github.io/pdr/docs/gdb_vs_lldb.html

  1. android chromium을 debug build 해야함
  2. lldb server 를 android ndk 에서 download
    https://developer.android.com/ndk/downloads
  3. lldb server를 adb push
    adb push .//toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/14.0.6/lib/linux/aarch64/lldb-server /data/local/tmp
    adb shell "chmod 777 /data/local/tmp/lldb-server"
  4. adb shell로 들어가서 아래를 참고하여 lldb server를 push 하고 실행한다.
    이때 port를 chromium에서 사용할 port 번호로 지정한다.
    $ adb shell
    $ cd /data/local/tmp
    $ ./lldb-server platform --server --listen 127.0.0.1:5039

    (android에서 lldb server를 실행해야 함)

  5. error while loading shared libraries: libc++.so.1 를 찾지 못하는 현상이 있으므로 아래와 같이 ld_library_path 를 설정한다
    1번에서 다운받은 ndk 에서 libc++.so.1 패스를 찾아서 path 추가

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/test/Public/android-ndk-r26d_gdb/shader-tools/linux-x86_64/

  6. 아래와 같이 host PC에서 lldb 를 실행한다.
    port 번호는 chromium에서 사용하는 5039
    *port번호는 확인필요

    ./out/debug_x64/bin/chrome_public_apk lldb --port=5039 

    참고) 가끔 ./out/debug_x64/bin/chrome_public_apk lldb --port=5039 --pid=15071 이렇게 pid를 명시해서 해야 에러 안나고 실행될 수도 있음

    사용법은 아래에서 참고함
    https://chromium.googlesource.com/chromium/src/+/main/docs/android_debugging_instructions.md

  7. lldb 는 gdb와 사용법은 비슷한 것으로 보임


 

 

 

 

 

 

 

이외에 참고한 사이트 


https://serendipityme.tistory.com/150
https://datalocaltmp.com/debugging-android-with-lldb.html