簡體   English   中英

如何保存或從控制台長期看到Linux內核BUG消息?

[英]How can I save or longly see linux kernel BUG message from console?

我正在嘗試為linux內核開發設備驅動程序,但是我在調​​試錯誤消息時遇到了問題。

我正在使用Linux內核(ubuntu 14.04,也嘗試過ubuntu server 14.04)的桌面(x64)。 而且,我使用tty控制台(ctrl + alt + f1)進行測試,因為當我將日志級別設置為7時,tty控制台始終會打印printk消息。

我的問題是,首先,我正在開發的設備驅動程序代碼中存在一個錯誤,其次,我無法獲得實際的錯誤原因,因為除最后左幾條錯誤消息外,我無法查看所有錯誤消息。

我嘗試使用ssh進行調試((測試PC是ssh服務器,並且ssh客戶端從ssh提取dmesg或ftrace printk消息),但ssh服務器早於內核錯誤消息而死,因此我只能從使用tty控制台從監視器中看到該錯誤消息。 。

我也嘗試使用較小尺寸的控制台字體,但這只是臨時解決方案。

因此,我的問題是,是否有任何適合該問題的調試技術?

例如,在出現第一個錯誤消息后停止打印內核錯誤消息,或者使用硬件或其他方式將tty控制台重定向到其他PC。

請幫我解決問題,謝謝

您可以通過修改rsyslog.conf將各種系統日志流(包括出現在dmesg中的日志流)重定向到任何終端或文件。

簽入您已經有一條類似於

kern.* /some/file

/some/file應該包含發送到dmesg的消息。 如果不存在這樣的行,請創建一個。 如果由於某些原因不能解決問題,請用*.*替換kern.* *.*並嘗試這種方式。

您還可以使用諸如dmesg > /var/log/dmesg類的命令將dmesg的內容推送到文件中,這可由Cron定期完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM