• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux加载vmlinux调试

    使用gdb加载内核符号表

    arm-eabi-gdb out/target/product/msm8625/obj/KERNEL_OBJ/vmlinux

    在内核的.config里面要打开 DEBUG_INFO和DEBUG_VM

    定位故障代码

    (gdb) l * qrd7627a_add_io_devices+0x100
    0xc07cd05c is in qrd7627a_add_io_devices (/home/yejialong/GH700C/kernel/arch/arm/mach-msm/msm8x25/goso-msm7627a-io.c:1851).
    1846      } else if (machine_is_msm8625q_skud() || machine_is_msm8625q_evbd()) {
    1847    #ifndef CONFIG_CALA02
    1848          platform_device_register(&pmic_mpp_leds_pdev_skud);
    1849    #endif
    1850          /* enable the skud flash and torch by gpio leds driver */
    1851          platform_device_register(&gpio_flash_skud);
    1852      } else if (machine_is_msm8625q_skue()) {
    1853           /* enable the skue flashlight by gpio leds driver */
    1854          platform_device_register(&gpio_flash_skue);
    1855      }

    下面是mtk平台加载的方法,但是不管哪个平台都是差不多的,道理都是一样的。

    weiqifa@weiqifa-Inspiron-3847:~/weiqifa/tm100$ ./prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-gdb ./out/target/product/tm100/obj/KERNEL_OBJ/vmlinux
    GNU gdb (GDB) 7.3.1-gg2
    Copyright (C) 2011 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "--host=x86_64-linux-gnu --target=arm-linux-android".
    For bug reporting instructions, please see:
    <http://source.android.com/source/report-bugs.html>...
    Reading symbols from /home/weiqifa/weiqifa/tm100/out/target/product/tm100/obj/KERNEL_OBJ/vmlinux...done.
    (gdb)

    rockchip rk3399调试vmlinux

    ./prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-addr2line -f -e kernel/vmlinux
    weiqifa@dev:~/rk3399_7in1$ ./prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-addr2line -f -e kernel/vmlinux ffffff8008459f3c
    rk_iommu_domain_free
    /data/weiqifa/rk3399_7in1/kernel/drivers/iommu/rockchip-iommu.c:1005 (discriminator 2)
    weiqifa@dev:~/rk3399_7in1$

    RK平台tombstone调试

    ./prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-addr2line -e ./out/target/product/rk3399_mid/symbols/system/lib/libspeexresampler.so 0x00002d54
    /proc/self/cwd/external/speex/libspeex/resample.c:376

    arm-eabi-gdb  先用命令找到这个东西,然后在去找去找到vmlinux  还有就是我arm-eabi-4.7/ 这个版本才可以用,这个是我试出来的。

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

    上一篇:利用Nginx反向代理解决跨域问题详解
    下一篇:nginx 代理服务器配置双向证书验证的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    Linux加载vmlinux调试 Linux,加载,vmlinux,调试,Linux,