Get the App
SLTechnology News&Howtos  ›  Servers  › 

Example Analysis of Linux loading vmlinux debugging

Shulou Source: shulou.com Published: 2022-06-01 18:19:03 11月15日 Update

This article mainly shows you the "Linux load vmlinux debugging example analysis", the content is easy to understand, clear, hope to help you solve doubts, the following let the editor lead you to study and learn "Linux load vmlinux debugging example analysis" this article.

Use gdb to load kernel symbol tables

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

Open DEBUG_INFO and DEBUG_VM in .config of the kernel

Locate the fault code

(gdb) l * qrd7627a_add_io_devices+0x1000xc07cd05c 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_CALA021848 platform_device_register (& pmic_mpp_leds_pdev_skud) 1849 # endif1850 / * 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}

Here is how the mtk platform loads, but no matter which platform is the same, the reason is the same.

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/vmlinuxGNU gdb (GDB) 7.3.1-gg2Copyright (C) 2011 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later 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:...Reading symbols from / home/weiqifa/weiqifa/tm100/out/target/product/tm100/obj/KERNEL_OBJ/vmlinux...done. (gdb)

Rockchip rk3399 debug vmlinux

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

Tombstone debugging of RK platform

. / 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 first uses the command to find this thing, and then goes to find vmlinux and I can only use this version of arm-eabi-4.7/. I tried this one.

The above is all the contents of the article "sample Analysis of Linux loading vmlinux debugging". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Tags: Examples analysis content platform articles kernels learning help pretty much things code commands that is faults methods easy to understand more organization versions knowledge Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Huawei Docker Shulou Information macOS Shulou Tech Info