GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo son útiles las funciones de la familia dev_*() al depurar el kernel de Linux?

El pr_*() las funciones son las mismas que las simples printk() , pero con el KERN_xxx nivel de registro ya incluido.

El dev_*() las funciones son las mismas que las pr_*() correspondientes funciones, sino también imprimir información de identificación sobre el struct device .

Si su mensaje está relacionado con algún dispositivo (que suele ser el caso de los controladores), debe usar dev_*() .Por ejemplo, en un controlador 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");

o en un controlador PCI:

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

dev_* las funciones son similares a pr_* , pero también imprime información sobre el dispositivo (struct device ), se les pasa como primer argumento. Esta información puede ayudar a filtrar el registro del sistema para mensajes pertenecientes a dispositivos concretos.

Entonces, puedes usar dev_* función en lugar de pr_* siempre que el mensaje sea aplicable a un dispositivo concreto (y tenga un destripador).


Linux
  1. Linux:¿Cómo encontrar el controlador de dispositivo utilizado para un dispositivo?

  2. Linux:¿cómo sabe el kernel de Linux los números mayores y menores de los dispositivos?

  3. Linux:¿cómo determinar qué módulo contamina el kernel?

  4. Linux:¿cuáles son los valores de la propiedad de interrupciones del árbol de dispositivos?

  5. Linux:¿los diferentes kernels de Linux/unix son intercambiables?

Cómo el kernel de Linux maneja las interrupciones

Cómo compilar un kernel de Linux en el siglo XXI

Cómo verificar la versión del kernel en Linux

Cómo usar el comando id en Linux:5 ejemplos útiles

¿Cómo puedo reservar un bloque de memoria del kernel de Linux?

¿Cómo carga Linux la imagen 'initrd'?