GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana fungsi keluarga dev_*() berguna saat men-debug kernel Linux?

pr_*() fungsinya sama dengan printk() biasa , tetapi dengan KERN_xxx tingkat log sudah disertakan.

dev_*() fungsinya sama dengan pr_*() yang sesuai fungsi, tetapi juga mencetak informasi pengenal tentang struct device .

Jika pesan Anda terkait dengan beberapa perangkat (yang biasanya terjadi pada driver), Anda harus menggunakan dev_*() .Misalnya, di driver USB:

struct usb_device *usb_dev;
dev_info(&usb_dev->dev, "hello\n");

struct usb_interface *usb_intf;
dev_info(&usb_intf->dev, "hello\n");

atau dalam driver PCI:

struct pci_dev *pci;
dev_info(&pci->dev, "hello\n");

dev_* fungsinya mirip dengan pr_* , tetapi juga mencetak beberapa informasi tentang perangkat(struct device ), diteruskan kepada mereka sebagai argumen pertama. Informasi ini dapat membantu memfilter log sistem untuk pesan, milik perangkat konkret.

Jadi, Anda dapat menggunakan dev_* berfungsi sebagai ganti pr_* setiap kali pesan berlaku untuk perangkat konkret (dan Anda memiliki deskripsinya).


Linux
  1. Linux:Bagaimana Menemukan Driver Perangkat yang Digunakan Untuk Perangkat?

  2. Linux – Bagaimana Kernel Linux Mengetahui Nomor Mayor dan Minor Perangkat?

  3. Cara Menggunakan Perintah id di Linux:5 Contoh Berguna

  1. Linux – Bagaimana Cara Menentukan Modul Yang Menodai Kernel?

  2. Linux – Sumber Entropi Apa yang Digunakan oleh Kernel Linux?

  3. Linux – Apakah Kernel Linux/unix yang Berbeda Dapat Dipertukarkan?

  1. Linux – Bagaimana Menemukan Implementasi Panggilan Sistem Kernel Linux?

  2. Bagaimana kernel Linux menentukan urutan panggilan __init?

  3. Bagaimana cara memasang perangkat di Linux?