[問題] qemu + kgdb

看板LinuxDev作者 (gigigigi)時間11年前 (2014/06/27 22:36), 編輯推噓0(0016)
留言16則, 2人參與, 最新討論串1/1
我看網路資料成功remote gdb 到 linux kernel gdb vmlinux b start_kernel target remote localhost:1234 c 不過我有個疑惑這樣好像是開機流程, 有辦法透過qemu + kgdb 其他kernel 運作嗎? 例如想知道像是linux kernel suspend / resume 這樣 qemu + kgdb 能辦到嗎? 或是我想在qemu 寫個小程式 例如是 open 開檔 之後 read/write , 我想知道 kernel 那邊運作 這樣有辦法在qemu 寫個user space 小程式嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.204.74.72 ※ 文章網址: http://www.ptt.cc/bbs/LinuxDev/M.1403879764.A.829.html

06/27 23:32, , 1F
06/27 23:32, 1F

06/27 23:33, , 2F
suspend/resume我沒試過, network的部份也可以debug.
06/27 23:33, 2F

06/27 23:34, , 3F
不過kernel file system的部份不是我的專長,不能給什麼
06/27 23:34, 3F

06/27 23:34, , 4F
建議..
06/27 23:34, 4F

06/28 00:00, , 5F
請問照片中 fs/file.c 檔案是qemu+kgdb 啟動流程會跑到?
06/28 00:00, 5F

06/28 00:01, , 6F
還是你能在qemu寫user space程式讓kernel跑到file.c 裡面
06/28 00:01, 6F

06/28 00:03, , 7F
因為我現在比較不解就是想知道kernel某部份系統運作流程
06/28 00:03, 7F

06/28 00:03, , 8F
我不是要先在user space 寫特定程式讓他call 到kernel
06/28 00:03, 8F

06/28 00:04, , 9F
我才有辦法用gdb 知道想了解的那部份運作流程
06/28 00:04, 9F

06/28 00:05, , 10F
我主要現在疑問在這部份..謝謝
06/28 00:05, 10F

06/28 00:36, , 11F
break point設在alloc_fd, 當然是在user space執行cat init
06/28 00:36, 11F

06/28 00:37, , 12F
往下用ioctl call到kernel裡面取得fd會執行到的地方.
06/28 00:37, 12F

06/28 00:38, , 13F
用cat 只是簡單可以去作fopen的動作而已.這部份你要寫
06/28 00:38, 13F

06/28 00:39, , 14F
user application去作fopen也可以..
06/28 00:39, 14F

06/28 00:41, , 15F
如果你是要了解kernel裡面的運作方式, file read/write用
06/28 00:41, 15F

06/28 00:42, , 16F
cat/echo這兩個命令就可以了..
06/28 00:42, 16F
文章代碼(AID): #1JhO5KWf (LinuxDev)
文章代碼(AID): #1JhO5KWf (LinuxDev)