lldb debugserver除錯環境部署

2021-07-01 21:05:24 字數 1881 閱讀 3975

使用的工具

otool             ——檢視程式依賴哪些動態庫資訊,反編**段……等等等等

ldid               ——簽名工具,通過plist檔案指定了授予一應用的一組特權

gdbserver     ——除錯工具

ssh               ——遠端控制

lipo               ——合併拆分對支援不同晶元的mach-o

一.定製乙個可以除錯的debugserver

git clone git:

cd ldid

git submodule update --init

./make.sh

完成以上操作會在ldid目錄下生產乙個mac 可執行程式 ldid。

2.獲取debugserver和armdisassembler.framework

我這以xcode 5.1.1的版本為例。

developerdiskimage.dmg

如果你在mac那雙擊它,你會看到如下目錄:

紅色框圈起來的就是我們需要使用到的部分,此時你一定很高興的看到了debugserver,但是別高興的太早了,我們還要對這個debugserver做下處理,使其能正常的除錯起來。

將armdisassembler.framework 拷貝到手機上/system/library/privateframeworks目錄下。

很多人一定奇怪為啥要這步驟,你們可以自己試試,去掉armdisassembler.framework與存在armdisassembler.framework,在lldb除錯的過程看arm反彙編的質量和效果。

我這邊使用scp拷貝到裝置上去:

# cd /volumes/developerdiskimage/library/privateframeworks

# scp -r -p 22 armdisassembler.framework [email protected]:/system/library/privateframeworks

3.提取對應裝置版本的debugserver,並對其簽名授予特權

1) 提取對應的debugserver(由於ldid不支援對fat檔案格式的mach-o簽名,所以需要提取對應版本)

lipo -thin armv7 /developer/usr/bin/debugserver -output ~/debugserver

lipo -thin armv7s /developer/usr/bin/debugserver -output ~/debugserver

lipo -thin armv64/developer/usr/bin/debugserver -output ~/debugserver

以上根據自己手機支援的armv7、armv7s、arm64提取,我這邊以iphone5為例,是armv7,所以我使用

# cd development/developerdiskimage/usr/bin/

# mv debugserver _debugserver

# lipo -thin armv7 _debugserver -output debugserver

2) 儲存以下授予特權內容為entitlement.xml

get-task-allow

task_for_pid-allow

run-unsigned-code

3) 使用ldid對debugserver簽名授予特權

# ldid -sentitlement.xml debugserver

將簽名授予特權的debugserver拷貝到手機/usr/bin目錄下

# scp -p 22 debugserver [email protected]:/usr/bin/

4) 測試debugserver是否安裝成功(如下正常)

eclipse tomcat solr環境部署

前面已經記錄過如何部署solr環境,這篇部落格介紹下如何在eclipse中部署solr。廢話不多說,直接來步驟 2 在eclipse中部署tomcat。windows preferences server runtime environment add browse選擇你的tomcat路勁就好了。例...

ALL in one openstack環境部署

1臺虛擬機器 8c16g centos 7.2 bin bash set x 配置aliyun的centos和epel mirror mkdir etc yum.repos.d.backup mv etc yum.repos.d etc yum.repos.d.backup curl o etc y...

es ElasticSearch集群環境部署

1 環境準備 2 準備安裝目錄 3 新建普通使用者 4 安裝elastic 5 修改配置檔案 6 分發elastic 7 啟動elasticsearch 8 訪問 9 圖形介面外掛程式 準備三個節點 示範中使用了centos 65系統 各節點上預先安裝jdk1.7或以上編譯環境 準備安裝es在 op...