[問題] IPC kernel module 除錯
介紹:我這個IPC module會使用kernel網路傳輸的API 與 另一台電腦作相連、也與本機
上層的管理應用程式相連。
問題描述:IPC kernel module執行傳輸到網路上會無法傳出(使用send function)、或是
socket與上層AP相連時,也會無法傳出。
這個程式碼現在是沒問題的,但是只要將 binder.c 3999、3283行 ,任一行註
解掉之後就會產生傳輸錯誤。3999、3283行在編譯後為變成printk。
備註:之前在開發的過程就有遇過,只是那時候是變成需要註解掉 prink
這樣傳輸才沒有問題。
1. 請問這樣的錯誤是為什麼發生的? 記憶體不夠用嗎、編譯問題、我寫法錯誤
、網路傳輸不能直接在kernel寫
2. 是否有什麼方式 可以查看 執行到這邊的狀態?
ex:kgdb、objdump kgdb之前有用過,可是使用起來怪怪的、也不太會trace
不知如何trace到使用socket API 的module內容
使用環境:
Ubuntu 12.04.3 LTS
Linux ubuntu 3.9.0-030900-generic #201304291257 SMP Mon Apr 29 17:06:25
UTC
2013 i686 i686 i386 GNU/Linux
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
Source Code
https://www.dropbox.com/s/xf3p83wh361q07l/module.rar?dl=0
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.72.239
※ 文章網址: http://www.ptt.cc/bbs/LinuxDev/M.1412422486.A.571.html
推
10/07 13:19, , 1F
10/07 13:19, 1F
→
10/07 13:20, , 2F
10/07 13:20, 2F
感謝回復,已經找到問題點了
把Send函式 這行改成這樣就行了
struct msghdr msg= {.msg_flags= MSG_DONTWAIT+MSG_NOSIGNAL};
※ 編輯: sxwdce123 (59.127.3.127), 10/09/2014 17:10:47
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章