时间:2021-05-19
使用gdb加载内核符号表
arm-eabi-gdb out/target/product/msm8625/obj/KERNEL_OBJ/vmlinux在内核的.config里面要打开 DEBUG_INFO和DEBUG_VM
定位故障代码
(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 1851 platform_device_register(&gpio_flash_skud);1852 } else if (machine_is_msm8625q_skue()) {1853 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/vmlinuxGNU gdb (GDB) 7.3.1-gg2Copyright (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/vmlinuxweiqifa@dev:~/rk3399_7in1$ ./prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-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$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:376arm-eabi-gdb 先用命令找到这个东西,然后在去找去找到vmlinux 还有就是我arm-eabi-4.7/ 这个版本才可以用,这个是我试出来的。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近两天在Linux中调试.NETCore应用程序,同时我发现在Linux中调试.NETCore应用程序并不容易。一直习惯在VisualStudio中进行编码和
在利用VS2013进行代码调试时,当电脑接入网络后系统会自动从Microsoft符号服务器加载PDB符号文件。此加载符号过程使得调试变得非常慢。那么如何避免VS
调试器的使用编译输出带调试信息的程序调试信息包含:指令地址、对应源代码及行号指令完成后,回调LINUX使用GDBMAX使用LLDB使用说明//开始调试testl
Linux,一切皆文件,那么在Android系统本身,也是Linux+java罢了,也是在Linux的运行环境下。通常,我们在调试程序的都会使用printf。在
调试源代码,配置文件加载代码位置是:org.springframework.boot.context.config.ConfigFileApplicationL