原创 C#日寫點滴(2)

       CTS(Common Type System):公共類型系統   C#認可的基本預定義類型並沒有內置於C#語言中,而是內置於.NET Framework中。例如,在C#中聲明一個int類型的數據時,聲明實際上是.NET結構S

原创 C#日寫點滴(1)

漸漸感覺,學一種知識,腳踏實地,一步一步是多麼重要。 以前習慣一看幾十頁,以爲學了很多,很有成就感,在要用的時候,會想起來看過,可具體怎麼用,又得去搜索查找。 驗證了那句:貪多嚼不爛。 所以,現在決定慢慢學,也溫故而知新,多做一些記錄。

原创 AdjustTokenPrivileges(進程權限)

AdjustTokenPrivileges(進程權限) 原文地址:http://hi.baidu.com/xuqipi/blog/item/07f43363b3d690630d33fa90.html GetCurrentProcessID

原创 Android GDB調試system_server記錄

    這邊直接在window 系統上的Android SDK環境上調試,Ubuntu系統也類似,使用中有一些目錄的差異。被調試的設備已經root.    設備端:   1.首先確認要調試進程的號:     這邊準備使用使用 system

原创 關於C_INCLUDES must be under the source or output directories

之前在Android N上的項目,正常編譯,挪到O項目,就報這個異常,很是疑惑。 直接翻譯過來,就是被include的目錄,必須在源碼或者輸出的目錄內。 Google一翻: There are a couple of other thin

原创 記一次android native 內存泄漏分析

最近有客戶反饋,使用平臺的SDK,進行掃碼時,使用幾個小時後,內存就變佔滿了,然後呢,系統就重啓了。 於是,給客戶腳本,ps之類拷機,定位,發現是system_server出現內存泄漏。這個大傢伙,有java,有native. 通過的抓取

原创 Linux中的proc文件系統

Linux中的proc下的節點,可以看到內核的一些重要信息,也是用戶空間與內核空間交互的媒介。 比如/proc/PID節點,可以查看某個PID進程的相關信息: DIRECTORY DESCRIPTION /proc/PID/cmdline

原创 android之JDWP調試使用

JDWP(java debug wire protocol)是dalvik VM的一個線程,可以建立在adb或者tcp基礎上,與DDMS或debugger進行通信。 adb jdwp : list pids of processes

原创 診斷原生代碼崩潰問題

                                診斷原生代碼崩潰問題 以下部分包括原生代碼崩潰的常見類型、對示例崩潰轉儲的分析以及有關 tombstone 的討論。每種崩潰類型都包括示例 debuggerd 輸出,其中突出

原创 Android 8.0 添加開機啓動服務

 Android 8.0 添加開機啓動服務,主要涉及兩個部分,一個是服務的添加,另一個是Sepolicy規則的添加。 服務的添加: 1.這邊添加一腳本做爲服務,定時讀取芯片溫控節點,獲取在不同運行情況芯片的溫度情況: monitor.sh

原创 Android 系統文件限制小探

我們可以通過ulimit -a 用來顯示當前的各種資源限制。 rk3399_all:/ # ulimit -a time(cpu-seconds) unlimited file(blocks) unlimited

原创 overview of Linux capabilities

NAME         top capabilities - overview of Linux capabilities DESCRIPTION         top For the purpose

原创 Linux errno詳解

開發中經常需要確認返回的錯誤碼,然後繼續排查原因,這邊記錄一下。轉自:https://www.cnblogs.com/Jimmy1988/p/7485133.html Linux中系統調用的錯誤都存儲於 errno中,errno由操作系統

原创 字節對齊算法

在開發中經常要用到字節對齊的操作,這邊介紹了一種簡單實現: int ALIGN(int value, int align){ // y must be a power of 2. return (value + alig

原创 do...while(0)在宏定義中的作用

下面這個DUMP_WRITE定義,使用了do...while(0): #define DUMP_WRITE(addr,nr) do { memcpy(bufp,addr,nr); bufp += nr; } while(0) do...