請問有何簡單的方法可以同時收集User space printf和Kernel space printk的訊息

我們生活周遭存在太多太多的 embedded system ,過去 embedded system 有專屬的 OS,現在 linux 也可以應用在嵌入式環境,不過本版將廣泛討論所有嵌入式系統不只 linux 喔,歡迎有這方面經驗或有興趣的朋友一同進來討論。

版主: chester

請問有何簡單的方法可以同時收集User space printf和Kernel space printk的訊息

文章whahahaha » 週三 1月 30, 2008 10:54 am

請問一下,小弟的程式在run時會在User space和Kernel space各印出許多訊息,請問各位前輩是否有和方法可以同時收集 User space和Kernel space的所印出的資訊。 例如當印出的是Debug message時,可在程式結束後將收集的所有message一次列出作為除錯的參考或是統計。
小弟的embedded system沒有提供disk可共小弟開檔案去儲存資料,我想可能只能先利用memory來作message暫存,有這種功能的system call嗎?還是有別的可以reference或是更佳的作法?請各位先進指導。

感恩^^
whahahaha
可愛的小學生
可愛的小學生
 
文章: 6
註冊時間: 週四 9月 20, 2007 4:23 pm

文章tomjpsun » 週三 1月 30, 2008 4:22 pm

user program 的輸出可在下命令時 redirct output 到檔案,dmesg 可以 dump 出 kernel message,但是這樣 user/kernel 的訊息是分開的。

另外有個程式叫 script ,會收集所有 console 出現過的字。但是我沒有在 embedded 系統用過,您可試試看!
tomjpsun
可愛的小學生
可愛的小學生
 
文章: 82
註冊時間: 週一 1月 03, 2005 2:40 pm

文章whahahaha » 週五 2月 01, 2008 9:19 am

感謝 tomjpsun大大的回答,我先去試試看^^
whahahaha
可愛的小學生
可愛的小學生
 
文章: 6
註冊時間: 週四 9月 20, 2007 4:23 pm

文章whahahaha » 週五 2月 15, 2008 3:12 pm

後來發現實作上不能用printf來收集Userspace的資訊,這樣會連原本AP的UI介面都記錄下來(command Line interface是用printf完成),上網查了一下,發覺可以利用 klogd 和 syslogd 兩隻daemon,將printk的內容記錄到 /var/log/messages 底下,而且依文章的說明 syslogd 也可以收集userspace AP的訊息。這樣應該就可以將kernel space和User space的訊息記錄到一起了^^。 But~請問各位大大有人知道要如何在user space上將message丟給 syslog 讓它記錄下來嗎?
whahahaha
可愛的小學生
可愛的小學生
 
文章: 6
註冊時間: 週四 9月 20, 2007 4:23 pm

文章whahahaha » 週六 2月 16, 2008 10:22 am

後來查了一下~用syslog 的system call 就可以了~這樣就可以收集到user space application 的message
whahahaha
可愛的小學生
可愛的小學生
 
文章: 6
註冊時間: 週四 9月 20, 2007 4:23 pm


回到 embedded system

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客