[英]How to use printk to print a physical address (aka phys_addr_t)?
我想打印存儲在phys_addr_t類型變量中的真實物理地址。 現在我正在做這樣的事情: 至於文件: 但我對Passed by reference有點困惑,因為它已經類似於參考。 所以我的實際問題是: 如何使用printk正確打印phys_addr_t ? Passed by reference ...
[英]How to use printk to print a physical address (aka phys_addr_t)?
我想打印存儲在phys_addr_t類型變量中的真實物理地址。 現在我正在做這樣的事情: 至於文件: 但我對Passed by reference有點困惑,因為它已經類似於參考。 所以我的實際問題是: 如何使用printk正確打印phys_addr_t ? Passed by reference ...
[英]Best way to convert a Linux kernel trace point into a plain old printk
我在一個不允許我在運行時啟用跟蹤點的系統中工作。 為了解決這個問題,我在調試期間手動將 printks 添加到跟蹤點附近。 這似乎非常低效,我正在尋找在編譯時啟用跟蹤點並將其推送到 kernel 日志環形緩沖區的方法。 ...
[英]RPi4 : Device Driver - pr_info with float causing build error
我正在為Raspberry Pi 4中的傳感器開發設備驅動程序。 在傳感器的kernel 設備驅動程序的程序中,我使用以下代碼打印結果距離pr_info( "Distance (cm): %.2f \n", cm ); 其中cm被聲明為, float cm = 0.0; 在制作文件時,我收到以下錯誤 ...
[英]Can a Linux process/thread terminate without pass through do_exit()?
為了驗證我想使用的第三方二進制分布式軟件的行為,我正在實現一個 kernel 模塊,其目標是跟蹤該軟件生成和終止的每個子節點。 目標二進制文件是 Golang 生成的二進制文件,它是多線程的。 我編寫的 kernel 模塊在 kernel 函數_do_fork()和do_exit()上安裝掛鈎,以 ...
[英]copy_to_user() keeps printing message infinitely
我正在學習“Linux 設備驅動程序” 。 我創建了一個名為char_device的字符設備。 當我從設備讀取數據時,它會不斷將消息打印到終端,使機器無限崩潰。 驅動中讀操作的源碼: 用於讀取設備的用戶空間命令: 驅動程序不斷打印“來自 kernel 世界的你好”。 向終端發送消息。 ...
[英]printk() messages not appearing in console
所以我正在嘗試學習編寫 Linux 模塊,現在我正在嘗試一個基本的“Hello World”模塊: 我終於讓這個模塊工作了。 當我使用 insmod 添加時,它會將“hello”打印到 kernel.log,當我使用 remmod 刪除它時,它會打印“goodbye”到 kernel.log。 我的 ...
[英]How to avoid quotes (“…”) in shortcut-ed printk Macros inside Linux Kernel Modules
我為 Linux Kernel printk創建了一組快捷方式宏,以模塊名稱為前綴,並為嚴重性設置一組別名。#define _pp(severity, format, args...) \ printk(severity "%s: " #format "\n", THIS_MODULE-> ...
[英]Is there a way to pipe an output constructed of printk messges to grep on console?
我創建了一個使用printk 打印輸出的實用程序。 例如。 如果在系統上運行此實用程序,它會在控制台上打印如下消息 然而,如果我運行此應用程序將輸出通過管道傳送到 grep,則它不起作用。 我知道 printk 消息發送到內核日志緩沖區和 dmesg 來打印日志緩沖區。 使用 dmesg ...
[英]How to find which function prints printk statement?
是否可以找到在哪個函數中執行printk方法? 我知道我可以在printk添加__function__來獲取此信息,但是我正在處理大型項目,因此無法將其手動添加到所有printk 。 也許我應該在代碼中添加一些宏或使用一些Linux命令? ...
[英]printk works in some functions but not all
我正在為Linux內核編寫系統調用,但到目前為止,它並沒有按我預期的那樣工作(這並不奇怪)。 我正在嘗試使用printk消息在一個函數中對其進行調試,但是它們無法正常工作。 但是,具有單獨功能的組件確實可以工作。 我試過使用pr_info而不是printk ,但這沒有用。 我使用了m ...
[英]undefined reference to `printk'
我想在用戶空間代碼中使用printk函數,但是我不想編寫內核模塊。 有可能這樣做嗎? 我嘗試使用linux/kernel.h標頭和linux/module.h但是它不起作用 ...
[英]How to print full trace file of trace_printk in ftrace?
我正在使用trace_printk()打印一些數字(它們大約是一百萬個數字)。 但是,當我檢查/ sys / kernel / debug / tracing / trace ...時,只會打印整個范圍的一部分。 誰能建議我如何增加緩沖區大小,或通過任何選項以任何方式打印整個范圍。 ...
[英]How to get the real file name in kernel module
我正在創建一個內核模塊,它攔截 unlink 命令並制作要取消鏈接的文件的副本。 現在,我攔截了 unlink 命令並嘗試打印文件的路徑,但它無法正常工作。 我有一個接收char *path參數的方法,我使用 printk 來顯示路徑,但這會打印一些罕見的字符串,如“\\xe07l\\xd3\\x ...
[英]How to use a variable as a format string in printk?
我嘗試使用命令printk。 我在互聯網上可以找到的所有示例都是直接在 printk 中放置一個字符串,如下所示: 但是,我試圖替換“你好 %s!” 使用這樣的緩沖區: 事實證明我得到了錯誤 我們應該如何在printk中使用變量並使用日志級別KERN_INFO? ...
[英]pr_* and printk do not print
我正在使用 Xubuntu,我正在嘗試解決 dell-wmi.ko 和 Latitude XT 的問題。 為了能夠做到這一點,我需要能夠看到調試 output。這就是問題所在。 pr_* 和 printk 在啟動后根本不起作用。 我可以整天重建、安裝、刪除,但在 dmesg 或任何日志文件中看不到 ...
[英]Difference between printk and pr_info
printk和pr_info函數之間的確切區別是什么? 在什么條件下,我應該選擇一個而不是另一個? ...
[英]Printk or I/O dangers in interrupt handler
為什么在linux的中斷處理程序中禁止printk或(I/O)。? 在什么情況下中斷處理程序中的 I/O 會導致 linux 系統中的死鎖? ...
[英]Why printk doesn't print message in kernel log(dmesg)
我寫了下面提到的小內核模塊代碼,我在ubuntu 14.04測試它 現在,當我使用insmod編譯並插入上面的模塊時,我在 dmesg 中看不到 printk 消息。 但是,在使用rmmod刪除模塊后,我看到了兩個 printk 消息。 通過關閉查看,我發現它是由於 printk 中\\n之后 ...
[英]How does 'printk' get the current time with high resolution?
每次printk輸出一些東西,高分辨率的時間會自動顯示在行首的方括號中。 printk如何高分辨率獲取當前時間? 我還想在我的內核模塊代碼中獲得如此高的分辨率時間。 ...
[英]printing the comm field of the `current` task_struct, Linux kernel
我正在嘗試打印current task_struct的comm字段以打印進程的名稱。 然后,使用current->parent ,我想對所有當前進程的祖先執行相同的操作。 到目前為止,這是我得到的: 這是結果(進程名稱左側顯示的pid ): 如您所見,第一個和最后一 ...