開發(fā)指南嵌入式中的調(diào)試技術(shù)_第1頁
開發(fā)指南嵌入式中的調(diào)試技術(shù)_第2頁
開發(fā)指南嵌入式中的調(diào)試技術(shù)_第3頁
開發(fā)指南嵌入式中的調(diào)試技術(shù)_第4頁
開發(fā)指南嵌入式中的調(diào)試技術(shù)_第5頁
已閱讀5頁,還剩63頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

遠見品 調(diào)試內(nèi)核的關(guān)鍵是要有匯編基礎要有要有遠見品 2.4內(nèi)核中對調(diào)試的支遠見品 2.6內(nèi)核中對調(diào)試的支

使用printk進行printk的健壯 printk的脆弱隨時調(diào)在中斷中在進程在持有鎖在多處

終端啟動遠見品 printk的記錄等printk(KERN_WARNING“Thisisawarning\n”);printk(KERN_DEBUG“Thisisawarning!\n”);printk(“NoLogLevelisspecified!\n”);遠見品 可供使用的記錄等 要 逐 減弱

說緊急情警普通的,可能需要注非正式一般的遠見品 用戶空間的守護進程-- 示出來,console_loglevel的值可以通過遠見品 syslogd進默認的文件是可通過/etc/syslog.conf文件重環(huán)緩沖區(qū)中,直到某個進程和緩沖區(qū)printklog_buf循環(huán)緩sys_syslog系統(tǒng)調(diào)內(nèi)核遠見品 調(diào)printklog_buf循環(huán)緩sys_syslog系統(tǒng)調(diào)內(nèi)核其其他應用程序調(diào)試信息syslogsyslogklogd控制臺或log遠見品 提高日志級要查看調(diào)試信息,必須提高日讀寫/proc/sys/kernel/printk[root@vm-2.6]#cat 設置當前日志級 [root@vm-2.6]#echo8>遠見品 strace命顯示程序調(diào)用的所有stracecp-o 遠見品 產(chǎn)生oops的原內(nèi) 越oops的內(nèi)CPU寄存器內(nèi)遠見品 有問題的write程ssize_tfaulty_write(structfileconstchar user*buf,size_tcount,loff_t*pos{*(int*)0=0;return0;}遠見品 有問題的read程ssize_tfaulty_read(structfile*filp,constsize_tcount,loff_t*pos

user{intcharstack_buf[4];if(count>4)count=4;if(!ret)returncount;return}遠見品 oops產(chǎn)生時的轉(zhuǎn)儲信 Unabletohandlekerelpagingrequestatvirtualaddressffffffffprintingeip:

0

NotEIPisat

遠見品 oops產(chǎn)生時的轉(zhuǎn)儲信息ProcessHead(pid:2331,threadinfo=c27fe000 Stack:ffffffff cf434f00bfffda70c27fe000 cf434f00 Call >]sys_read+[<c0103f8f>]syscall_call+0x7/0xbCode:BadEIPvalue遠見品 oop分析klogd:符號表與當前內(nèi)核必ksymoopsksymoops遠見品 格式化Oops消oops代 錯oops格式化后oops

運遠見品 oops產(chǎn)生時的轉(zhuǎn)儲信 Unabletohandlekerelpagingrequestatvirtualaddressffffffffprintingeip:

0

NotEIPisat

遠見品 查看日志獲取系統(tǒng)狀Linux的3個主要的日/var/log/wtmp和由syslogd(8)執(zhí)

常用的日志文

----------

從syslog中記sudo發(fā) su命令的遠見品 gdb調(diào)試運行在給定的條件下讓程檢查程序停止時的運通過改變數(shù)據(jù),更改程序的遠見品 gdb啟動界遠見品質(zhì) gdb基本命

調(diào)試調(diào)試端口主動觸發(fā)運行調(diào)試主動觸發(fā)運行調(diào)試串口/網(wǎng)遠見品 串口/網(wǎng)應用應用程內(nèi)stub程主X環(huán)本遠見品 arm-linux-gdb的創(chuàng)downloadgdb-tarjxvfgdb-make遠見品 編譯stub程在 運行makeCC=/usr/local/xxx/bin/arm-linux- 建立主機和開發(fā)板之間的TCP/IP遠見品 建立gdb和gdbserver連在目標板上運行[root@vm/root]#./gdbserver ocreated;Listeningonport o程 到主機的相 ,執(zhí)arm-linux- 連接遠見品 KDB介不允許進行源代碼級別上的可以添加額外令,給出該數(shù)據(jù)結(jié)構(gòu)的遠見品 KDB允許的內(nèi)核操 (通過進程ID)遠見品 配置tarjxvflinux-bzip2-dpatch-p1<CompilethekernelwithframeKDBoffby遠見品 激活echo“1”>取消激echo“0”>遠見品 KDB命令運ssb:執(zhí)行到分支或者函數(shù)調(diào)用時遠見品質(zhì) KDB命令內(nèi)存顯示和修mdmdrmm:修改內(nèi)存內(nèi) (thinking→mds例1:顯示從 開始的行內(nèi)[0]kdb>md 例2:修改 上的內(nèi)[0]kdb>mm

KDB命令寄存器修改和rdrmef例1示通用寄存器組[0]kdb>例2eax寄存器內(nèi)[0]kdb>rm

bp/bl

KDB命令bc/be:清除/bdbpa例1數(shù)設置斷[0]kdb>bp例2[0]kdb>例3[0]kdb>bc

KDB命令堆btbtpbta例 當前活動線程的堆[0]kdb>例 某進程的堆[0]kdb>btp

遠見品 KDB命令其他數(shù)十個命help

開發(fā) 目標sttyispeed115200ospeed115200-F o>sttyispeed115200ospeed115200-F/dev/ttyS1cat/dev/ttyS1遠見品 安裝需要配置內(nèi)make;make遠見品 串口線的連遠見品 開發(fā)機的配編輯文件#vi.gdbinitdefinermtsetremotebaud115200targetremote/dev/ttyS0遠見品 目標機的配#vititleRedHatLinux(kernel_with_kgdb)root(hd0,0)kernel/boot/vmxxx-kgdbrokernel/boot/vmxxx-kgdbroroot=/dev/hda1/gdbgdbttyS=1gdbbaud=115200#videbuggdbstart-s115200-t/dev/ttyS1

內(nèi)核啟動后調(diào)目標AbouttoactivateGDBstubinthekernelon/dev/ttyS1Waitingforconnectionfromremotegdb...遠見品 開發(fā)機的連接過遠見品 LinuxTraceLinuxkernelmoduletakescareofstoringtheeventsintoitsbufferandthensignalsthetracedaemonwhenitreachesacertainthreshold.readsthedatafromthemodule,whichisvisiblefromuserspaceasacharacterdevicethedatadecodertakestherawtracedataandputsitinahuman-readableformatwhileperformingsomebasicandmoreadvancedysis遠見品 配置遠見品 配置Relay文件系遠見品 ltt安安裝內(nèi)安裝ltt編譯make掛載relay文件mount–trelayfsrelayfs遠見品 ltt主界遠見品 遠見品 1414代表硬盤中斷遠見品 進程分遠見品 進程分遠見品 Raw遠見品 《LinuxDeviceDrivers(3rd)《ApracticalguidetothedesignandDebuggingwithLinuxTraceToolkitReferenceMonitoringand yzingRTAISy

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論