使用puncover分析嵌入式ELF文件时Stack列为空的问题及解决
问题:puncover栈分析中“Stack”列为空,Code和Static列正常显示
环境与现象
- 目标平台:嵌入式系统,使用arm-gcc工具链处理ELF文件
- 工具版本:puncover v0.4.1
- 异常现象:运行puncover分析后,“Code”和“Static”列数据正常,但“Stack”列完全为空
- 已尝试操作:编译阶段添加
-fstack-usage编译器标志,但问题未解决 - 初始调用命令:
puncover.exe --gcc-tools-base "Path to Arm-GCC-Toolchain" --elf_file "Path to elf-File"
解决方法
要让puncover正确解析栈使用数据,需同时完成以下两步:
- 编译阶段:确保所有源文件编译时都添加
-fstack-usage标志,该标志会在构建目录下生成对应.su格式的栈使用信息文件 - 调用puncover阶段:必须通过
--build_dir参数指定存放.su文件的构建目录,完整命令示例:puncover.exe --gcc-tools-base "Path to Arm-GCC-Toolchain" --elf_file "Path to elf-File" --build_dir "Path-build-dir-for-su-files"
内容的提问来源于stack exchange,提问作者user19471767
相关产品推荐
相关产品推荐

