嵌入式linux的調試技術

? ? 本章介紹了嵌入式linux的調試技術,例如,設置斷點、逐步跟蹤代碼、輸出調試信息等。

Printk函數用于打印內核調試信息,運行在內核空間,printf函數運行在用戶空間。Printk文件是一個簡單的有4個數字組成的文本文件。

雖然使用Printk函數可以方便的將信息寫入日志文件或控制臺,但大量使用會影響驅動的性能,因此,要求linux驅動只在開發階段使用Printk函數輸出消息,在正式發布是會去掉。

linux文件系統中,虛擬文件系統經常被用來作為內核空間與用戶控件進行數據交互的工具。并不是真正的文件系統,而是內存映射。所以讀寫的操作都是對內存的讀寫,所以速度非常快,因此,/proc文件系統也可作為linux驅動與用戶空間程序交互的工具。

以上都是輸出調試消息,這都會用到調試工具。用gdb調試用戶空間程序;用gdbserver遠程調試用戶空間程序;用kgdb遠程調試內核程序。

?

?

?

?

?

?

?

http://www.cnblogs.com/SJ-0325/

轉載于:https://www.cnblogs.com/SJ-0325/p/5649493.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256882.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256882.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256882.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

constexpr的好處

constexpr的好處: 是一種很強的約束,更好地保證程序的正確語義不被破壞。編譯器可以在編譯期對constexpr的代碼進行非常大的優化,比如將用到的constexpr表達式都直接替換成最終結果等。相比宏來說,沒有額外的開銷,但更…

PHP中include()與require()的區別說明

123456789101112131415161718192021222324252627require 的使用方法如 require("MyRequireFile.php"); 。這個函數通常放在 PHP 程序的最前面,PHP 程序在執行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程序網頁的一部份…

電腦重裝系統重裝不了,老是藍屏,是不是硬盤燒壞了!

藍屏代碼是什么啊裝不了有時候是內存的問題以下內容為百度知道Ctangel個人總結,并非網絡復制,全是個人日常工作中遇到并且明確確定原因的。如需復制請注明出處。這里列舉幾個典型的藍屏故障的原因和解決辦法。一、0X0000000A 這個藍屏代碼和硬件無關&…

學習筆記(41):Python實戰編程-按鈕

立即學習:https://edu.csdn.net/course/play/19711/343103?utm_sourceblogtoedu 按鈕——用于指令的提交作用,如將文本中輸入的信息進行提交等 button tkinter.Button(root,text linlianqin,image photo,compound bottom) 創建了一個圖片按鈕,并且…

第八章讀后感

一.Linux驅動的代碼重用有很多的方法,可以采用標準的C程序的方法將要重用的代碼放在其他的文件(在頭文件中聲明)中。如果要使用某些功能,include相應的頭文件即可,也可以是另外一種動態重用的方式&#xff…

linux系統基礎優化小結

不用root, 添加普通用戶,通過sudo授權管理 更改默認的遠程ssh服務端口及禁止root用戶遠程登陸 定時自動更新服務器時間 ntpdate 配置yum更新源,從國內更新源下載安裝軟件,如啊里云,163等.http://mirrors.aliyun.com…

iOS8 【xcode6中添加pch全局引用文件】

前沿:xcode6中去掉了pch,為了一些瑣碎的頭文件引用,加快了 編譯速度! xcode6之前的版本建項目就自動添加了是這樣的:xcode6后的版本要自己手動的添加步驟如下:1) 2)3) $(SRCROOT)/pc…

學習筆記(42):Python實戰編程-pyinstaller程序打包

將程序打包可以使得所有Windows帶有python虛擬機的電腦進行使用,打包的內容有代碼加外部資源(如logo圖片等) 步驟: 1)創建程序的代碼 2)生成配置文件——用于獲得打包的資源,將資源保存在運行程…

[js]BOM篇

一、什么是BOM BOM(Browser Object Model)即瀏覽器對象模型。BOM提供了獨立于內容 而與瀏覽器窗口進行交互的對象;由于BOM主要用于管理窗口與窗口之間的通訊,因此其核心對象是window;BOM由一系列相關的對象構成&#x…

透視校正

1、需要解決的問題: 怎么用圖像處理的辦法將梯形轉換為規則的矩形,進行一個視覺的透視校正 2、解決思路: 1)先二值化圖像,提取其輪廓(其中使用到填充,形態學知識) 2)…

雜項備忘

svn導出 export LANGzh_CN.UTF-8 && svn --username shuai --password shuai checkout svn://192.168.14.111/safe.qq.com /update/webapps/safe.qq.com mysqlsla --sortc_sum slow.log 本文轉自 liang3391 51CTO博客,原文鏈接:http://blog.51cto.com/liang…

安裝Pywin32后無法正常引用pyd文件

1. 首先在官方下載pywin32 2.下載完成后,無法正常引用pyd文件 3.解決方案: python安裝目錄\Lib\site-packages\pywin32_system32\* 至 C:\Windows\System32 轉載于:https://www.cnblogs.com/MonkeyKingK/p/4731960.html

pyinstaller運行時出現TCLError的錯誤該怎么辦?

1)修改代碼后需要重新按照以上步驟進行,尤其不能忘記了修改配置文件的datas 2)必須得先pyi-makespec -F *.py指定要打包的程序,再修改配置文件,再pyinstaller -F *.spec程序打包 3)確保配置文件已經修改成功,即將以下圖…

視覺統計計數方案

1、二值化分割 2、形態學 3、距離變換 4、再進行二值化 4、連通區域計算 輸入: 輸出:printf("統計玉米粒的個數 contours:%d\n",contours);//contours 17

SQL Server 查詢表備注信息的語句

--name 字段名稱--user_type_id --max_length 最大長度--is_nullable 是否允許空--remark 描述SELECT c.name, c.user_type_id, c.max_length, c.is_nullable, remark ex.value FROM sys.columns c inner JOIN sys.extended_properties ex ON ex.major_id c.object_id…

Filezilla 利用私鑰無密碼登錄

Filezilla是常用的FTP客戶端軟件,這里介紹一個用私鑰進行登錄 主機:sftp://yourserver 用戶名:yourname 點擊“編輯”-“設置”菜單打開設置對話框,找到“連接”-“SFTP”設置項 添加密鑰文件(A)”按鈕,添加私鑰文件,彈出對話框&a…

yo angualr-fullstatck 項目打包部署

yoeman使用grunt進行打包部署,直接運行grunt命令即可,期間會對代碼進行檢查,如果存在不規范的地方jshint會指定出來. grunt會對靜態資源進行打包而且對資源文件名進行了MD5作為版本戳. 1:修改se…

Visual Studio 快捷鍵使用方法

1、Ctrl k 和 Ctrl F 一起使用可以格式化代碼,讓其對齊工整。

學習筆記(43):Python實戰編程-事件處理簡介

立即學習:https://edu.csdn.net/course/play/19711/343105?utm_sourceblogtoedu 事件: 1.概念:就是給組件添加一定的功能,使得單擊或者是聚焦時產生一定的反應 2.知識點: 1)給組件綁定事件: 組件名.bind…

淺談MIPS地址對齊問題

1.什么叫地址對齊? RISC 下使用訪存指令讀取或寫入數據單元時,目標地址必須是所訪問之數據單元字節數的整數倍,這個叫做地址對齊。 2.計算機主要的架構分哪兩類?及其地址對齊在兩者的區別? 計算機主要的架構就分為兩類…