2015-01-02 9 views
7

Come abilitare il debug dinamico (pr_debug) all'avvio per più file fornendo un argomento della riga di comando al kernel di Linux?Abilita debug dinamico per più file all'avvio

ho cercato di fornire le seguenti come argomento -

dyndbg='file drivers/<filename1> +p file drivers/<filename2> +p file drivers/<filename3> +p'

Tuttavia il debug dinamico non è stato abilitato.

La mia sintassi è corretta?

risposta

2

Comandi di controllo separati con punto e virgola.

dyndbg='file drivers/<filename1> +p; file drivers/<filename2> +p; file drivers/<filename3> +p' 
2
  1. primo luogo, verificare se è stata abilitata CONFIG_DYNAMIC_DEBUG=y questo nel file .config

  2. prova se questo funziona correttamente quando il kernel viene avviato.

    echo -n 'module module_name +p' > /debugfs/dynamic_debug/control 
    
  3. Assicurarsi che la query è in formato corretto (dove il percorso del modulo/cartella è corretto) quando specificato con dyndbg=QUERY

Per built-in uso modulo dyndbg='module module_name +p'

Per il modulo caricabile utilizzare ex: xhci_hcd.dyndbg=+p

È possibile aggiungerlo al proprio predefinito Linux riga di comando scrivendo il file /etc/default/grub come segue:

GRUB_CMDLINE_LINUX_DEFAULT="xhci_hcd.dyndbg=+p" 

Refer link:

messaggi debug durante l'avvio del processo

Per attivare i messaggi di debug per il codice core e moduli built-in durante bagagliaio process, anche prima che esista userspace e debugfs, usa dyndbg = "QUERY", module.dyndbg = "QUERY", o ddebug_query = "QUERY" (ddebug_query è obsoleto da dyndbg e deprecato). QUERY segue la sintassi sopra descritta, ma non deve superare i 1023 caratteri. Il tuo bootloader può imporre limiti più bassi.

Questi parametri dyndbg vengono elaborati subito dopo l'elaborazione delle tabelle ddebug come parte di arch_initcall. In questo modo è possibile abilitare i messaggi di debug in tutto il codice eseguito dopo questa arch_initcall tramite questo parametro di avvio .

+0

Ho già controllato per step1 e step2 e va bene. Forse non sono chiaro dalla mia domanda. Volevo chiedere che per più file la mia QUERY sia corretta o meno. Come posso verificarlo? – Raj

+0

Non ho provato con più file, ma puoi provare 'dyndbg = 'file nome_modulo/percorso/su/file/* + p' se funziona – askb

+0

Non voglio aggiungere tutti i file, perché ci sono molti file nella directory. – Raj

Problemi correlati