zoukankan      html  css  js  c++  java
  • Linux内核、驱动调试总结

    1.给驱动模块的打印加tag

    #define pr_fmt(fmt) "my_module: " fmt  //在所有include头文件之前加
    pr_info("xxxx");

    2.根据函数指针打印函数名

    Symbols/Function Pointers:
        
    %pF    versatile_init+0x0/0x110
    %pf    versatile_init
    %pS    versatile_init+0x0/0x110
    %pSR   versatile_init+0x9/0x110 (with __builtin_extract_return_addr() translation)
    %ps    versatile_init
    %pB    prev_fn_of_versatile_init+0x88/0x88

    “B”说明符导致符号名称带有偏移量,应该在打印堆栈回溯时使用。该说明符考虑了编译器优化的效果,该效果可能在使用尾调用并用noreturn GCC属性标记时发生。在ia64上,ppc64和parisc64体系结构的函数指针实际上是必须首先解析的函数描述符。
    “F”和“f”说明符执行此分辨率,然后提供与“S”和“s”说明符相同的功能.

  • 相关阅读:
    oracle锁分类
    oracle中decode函数
    oracle分区
    oracle处理字符串
    oracle索引分类
    oracle表连接
    oracle处理字符串
    oracle分区
    木马中如何编程实现远程关机
    木马中如何编程实现远程关机
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/12850339.html
Copyright © 2011-2022 走看看