如何使用addr2line调试Linux程序

508
2024/8/14 3:31:42
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要使用addr2line调试Linux程序,首先需要编译程序时使用-G选项来保留调试信息。然后可以使用addr2line命令来将程序的地址转换为文件名和行号信息。

下面是一些常见的addr2line用法:

  1. 显示某个函数的源代码文件名和行号:
addr2line -e 可执行文件地址 函数地址

例如:

addr2line -e ./a.out 0x4004d6
  1. 显示某个地址的源代码文件名和行号:
addr2line -e 可执行文件地址 地址

例如:

addr2line -e ./a.out 0x4004d6
  1. 显示某个地址范围内的源代码文件名和行号:
addr2line -e 可执行文件地址 -a -f -i -s 起始地址-结束地址

例如:

addr2line -e ./a.out -a -f -i -s 0x400000-0x500000

使用addr2line可以帮助定位程序中出现的问题,快速找到问题代码所在的文件和行号,从而更好地进行调试。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Linux named日志能用于故障排查吗