深入對 Linux Kernel 除錯 – 第 2 部分

KGDB, KDB ,GDB

從這 3 小時的課程,你會學到

  • 使用 KGDB 除錯 Linux Kernel ( 核心 )
  • Raspberry Pi3 上的 KGDB

要求

應該具備 Linux Kernel 的基本知識

課程說明

用戶空間進程可以使用 gdb 進行除錯( Debug )。 使用 gdb 你可以

  • 一小步,
  • 停止,
  • 恢復( resume ),
  • 設置斷點( nreal-points ),
  • 檢查記憶和變量,
  • 了解呼叫堆棧資訊

如果我們可以在運行 Linux Kernel 時使用 gdb 會怎麼樣?

問題:

gdb 如何調試正在運行的內核,因為它只是一個用戶空間進程。

解決方案:

客戶端/伺服器架構
可以使用目標機上的 gdbserver 和主機/開發機上的 gdb 組合來遠端除錯用戶空間程式。
Linux 內核有一個名為 KGDB 的 GDB 伺服器實現。 它通過網路或串行端口( serial port )連接與 GDB 客戶端進行通信

在本課程中我們將學習:

  • 如何設置 KGDB
  • 將目標放入開發機器的各種方法
  • 設置斷點( Breakpoints )
  • 印出和設置變數
  • 對 kgdb 和控制台訊息使用單個串行端口(  single serial port )
  • 在 gdb 窗口中獲取核心訊息
  • 除錯 Linux 核心模組(樹內 In-Tree、樹外 out of tree)
  • 使用 Linux 核心中的 GDB 腳本(  Scripts  )

目標受眾

有興趣學習各種除錯( debugging )技術的核心( kernel )開發人員

講師簡介

Linux Trainer Linux 週末學習的培訓師

我已經在 Linux 上工作了7年多了。我看到許多人仍然缺乏對 Linux 的技能。因此,我正在研究 Linux 的課程,這將使他們以一種簡單的方式學習 Linux。我的課程的議程將更加實用,而不是理論。顯示更多的例子,你會很容易抓住這些概念

學習的順序
1. 學習 Linux 使用者空間除錯

2. ELF 內部:探索可執行檔的核心

3. 學習 Linux 核心程式設計

4. 深入了解 Character Device Drivers (字元裝置驅動程式)

5. Linux 核心中的記憶體管理

6. Linux 核心程式設計中的同步

7. Linux 核心開發模型與編譯

8. Linux 裝置驅動程式 – 與硬體溝通

9. Linux 核心中的中斷與下半部分

10. 深入系統調用

11. 深入的計時子系統

12. 使用 Yocto 的嵌入式 Linux

13. 使用 Yocto 的嵌入式 Linux 第 2 部分

14. 使用 Yocto 的嵌入式 Linux 第 3 部分

15. 使用 Yocto 的嵌入式 Linux 第 4 部分

16. 虛擬嵌入式 Linux 板

17. 虛擬嵌入式 Linux 板第 2 部分

18. 測試 Linux 核心

19. 深入 Linux 核心偵錯除錯(debug) – 第 1 部分

20. 深入 Linux 核心偵錯除錯(debug) – 第 2 部分

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

  • Udemy 永久擁有課程 許多課程約 NT400(點擊連結看更多)
  • 年訂閱每月 NT350(再享特別優惠:年度訂閱首年享 25% 折扣) 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
  • Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
  • 手機上點選優惠連結看到的價格比電腦上看到的貴
  • $代表當地貨幣, 如在台灣為 NT
  • 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現

報名參加課程

Sponsored by Udemy


也許你會有興趣

不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

由 WordPress.com 建置.

Up ↑

探索更多來自 Soft & Share 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading