2015-01-02 16 views
7

Linux çekirdeğine bir komut satırı argümanı sağlayarak, birden fazla dosya için dinamik hata ayıklamayı etkinleştirme (pr_debug) nasıl etkinleştirilir? Önyükleme sırasında birden fazla dosya için dinamik hata ayıklamasını etkinleştirme

Ben bağımsız değişken olarak aşağıdaki sunmak için çalıştık -

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

dinamik ayıklama etkin değildi Ancak.

Sözdizim doğru mu? Çekirdek açılırken bu düzgün çalışıp çalışmadığını size .config dosyada

  • Testi CONFIG_DYNAMIC_DEBUG=y bu etkin varsa

  • cevap

    2

    Noktalı virgüller ile ayrı kontrol komutları.

    dyndbg='file drivers/<filename1> +p; file drivers/<filename2> +p; file drivers/<filename3> +p' 
    
    2
    1. Birincisi, kontrol edin.

      echo -n 'module module_name +p' > /debugfs/dynamic_debug/control 
      
    2. (modül/klasörünün yolu doğru olduğu) için dyndbg=QUERY

    ile belirtilen QUERY doğru biçimde olduğundan emin olun dahili modül kullanımı dyndbg='module module_name +p'

    Yüklenebilir modül için module_name.dyndbg=<query> kullanın: xhci_hcd.dyndbg=+p

    Bunu, varsayılan Linux'unuza ekleyebilirsiniz.

    GRUB_CMDLINE_LINUX_DEFAULT="xhci_hcd.dyndbg=+p" 
    

    Refer link: Önyükleme Sürecinde

    ayıklama mesajları önyükleme sırasında çekirdek kodu ve dahili modülleri için hata ayıklama mesajları aktifleştirmek için

    şöyle /etc/default/grub dosyayı yazarak komut satırı Kullanıcı arabirimi ve hata ayıklamalarından önce bile, işlem dyndbg = "QUERY", module.dyndbg = "QUERY" veya ddebug_query = "QUERY" (ddebug_query, dyndbg tarafından kaldırılır ve kullanımdan kaldırılır). QUERY, yukarıda açıklanan sözdizimini izler, ancak 1023 karakterden uzun olmamalıdır. bootloader'ınız daha düşük sınırlar getirebilir.

    Bu dyndbg params, arch_initcall'ın bir parçası olarak işlenen ddebug tabloları işlendikten hemen sonra işlenir. Böylece, bu önyükleme parametresi aracılığıyla bu arch_initcall'den sonra tüm kod çalıştırmada hata ayıklama iletilerini etkinleştirebilirsiniz.

    +0

    Zaten adım 1 ve adım 2 için kontrol ettim ve sadece iyi. Belki sorumu açık değilim. Birden fazla dosya için QUERY'mın doğru olup olmadığını sormak istedim. Nasıl doğrularım? – Raj

    +0

    Birden çok dosya ile denemedim, ancak 'dyndbg =' dosya modülü_adı/yol/to/files/* + p 'işlevini denediyseniz bunu yapabilirim – askb

    +0

    Tüm dosyaları eklemek istemiyorum, çünkü çok fazla dosya var dizinde. – Raj

    İlgili konular