關于WinCE的調試技術簡介之調試程序
模擬器運行后,就可以調試程序了。使用Evc調試和VC++很類似。可以設置斷點,點擊調試后就在工具欄中出現調試按鈕,可以進行單步調試,查看線程和模塊信息,以及捕獲異常。
本文引用地址:http://www.104case.com/article/201609/304645.htmPB中啟動模擬器后,可以使用Kerneldebugger查看系統內部信息。使用target control窗口進行內核調試。這是一個命令行模式的shell:
Welcome to the Windows CE Shell. Type ? for help.
Windows CE>
通過?命令可以查看支持的命令選項。可以查看系統進程和線程信息,內存信息,可以啟動新的進程和關閉之。還可以掛起設備等。也可以在鼠標右鍵的彈出菜單中選擇相應的項,通過特定窗口察看,比命令方便一些。在輸出窗口中會顯示每一個程序運行時加載的DLL庫。
具體的調試情況需要在實踐中不斷摸索。下面我就介紹一下evc和pb中均提供的十大遠程調試工具。
1.Remote File Viewer
遠程文件瀏覽器。
這個工具類似于Windows Explorer,可以顯示WinCE目標設備上的目錄層次和文件。通過這個工具,可以在主機和目標機之間互傳文件,也可以刪除目標設備上的文件。使用這個工具,方便了程序的下載和調試。
2.Remote Process Viewer
遠程進程查看工具
這 個工具可以查看WinCE上所有運行的進程以及它的現成的信息。包括進程的名稱,PID,進程基本優先級,進程的線程數,進程基地址和訪問鍵值,窗口名 稱;線程ID,線程的當前進程ID(因為有的線程需要其它的進程來加載模塊),線程優先級,線程訪問鍵值;模塊名稱和ID,模塊的進程使用計數,全局使用 計數,基地址和大小,模塊的句柄和路徑名稱等。
在這個工具中可以看到,每個進程的地址空間是32MB,核心進程NK.exe從4000 000開始,所以系統將第0和1兩個槽來加載當前進程。在WinCE4.0以前只有第0個槽。現在的第1個槽用于當前進程使用的DLL,并且保證不和其它進程使用的DLL發生沖突。
3.Remote Zoomin
這個工具可以抓取目標設備的屏幕圖像,可以保存為位圖文件或到剪切板上。
4.Remote Registy Editor
遠程注冊表編輯器
這個工具可以顯示主機和目標機的注冊表,可以編輯注冊表或導出注冊表。對于查看目標設備的驅動程序配置信息很有用。網上也有下載WinCE下的注冊表編輯器。
5.Remote Heap Walker
遠程堆查看器
這個工具可以列出目標機上所有運行的進程和他們的堆的使用情況。每個進程開始時,系統只提供192KB的堆,且不立刻提供物理內存。程序可以申請更大的堆。WinCE分配的堆是不能移動的,所以要頻繁的分配和釋放內存,最好自己預先分配一個大堆,用完后釋放。
這個工具顯示每個進程分配的堆ID,堆的塊地址和大小以及堆的創建標志。HF32_DEFAULT表示是系統默認創建的堆。塊的標志有fixed和free兩種。前者表示不能釋放,后者表示可以釋放,這是給內存管理單元看的 。
評論