Binder除錯命令

2021-08-21 04:16:33 字數 1439 閱讀 4690

首先debugfs檔案系統預設掛載在節點/sys/kernel/debug,binder驅動初始化的過程會在該節點下先建立/binder目錄,然後在該目錄下建立下面檔案和目錄

對於binder driver存在16類除錯log開關,如下:

debug_mask

log型別 mask值 解釋

binder_debug_user_error 1 使用者使用錯誤

binder_debug_failed_transaction 2 transaction失敗

binder_debug_dead_transaction 4 transaction死亡

binder_debug_open_close 8 binder的open/close/mmap資訊

binder_debug_dead_binder 16 binder/node死亡資訊

binder_debug_death_notification 32 binder死亡通知資訊

binder_debug_read_write 64 binder的read/write資訊

binder_debug_user_refs 128 binder引用計數

binder_debug_threads 256 binder_thread資訊

binder_debug_transaction 512 transaction資訊

binder_debug_transaction_complete 1024 transaction完成資訊

binder_debug_free_buffer 2048 可用buffer資訊

binder_debug_internal_refs 4096 binder內部引用計數

binder_debug_buffer_alloc 8192 同步記憶體分配資訊

binder_debug_priority_cap 16384 調整binder執行緒的nice值

binder_debug_buffer_alloc_async 32768 非同步記憶體分配資訊

每一項mask值通過將1左移n位,也就是等於2的倍數

具體的進入目錄/sys/kernel/debug 實際操作

Binder學習 二 Binder機制解析

程序隔離 程序隔離是為保護作業系統中程序互不干擾而設計的一組不同硬體和軟體的技術。這個技術是為了避免程序a寫入程序b的情況發生。程序的隔離實現,使用了虛擬位址空間。虛擬位址 虛擬位址是對整個記憶體的抽像描述。它是相對於物理記憶體來講的,可以直接理解成 不真實的 假的 記憶體,例如,乙個0x08000...

Binder系列10 Binder執行緒池管理

在系列1中我們知道 binder 通訊,歸根結底是位於不同程序中的執行緒之間的通訊 假如程序 s 是 server 端,提供 binder 實體,執行緒 t1 從 client 程序 c 中通過 binder 的引用向程序 s 傳送請求。s 為了處理這個請求需要啟動執行緒 t2,而此時執行緒 t1 ...

Binder機制簡介

binder是一種程序間通訊機制,通俗一點,其實是提供遠端過程呼叫機制 rpc 傳輸效能 一次拷貝 易用性 相對於共享記憶體 安全性 許可權分離 servicemanager proxy client server 匿名共享記憶體方式 實現乙個binder通訊例項,需要經過一下步驟 1 獲得serv...