移植strace调试工具到arm平台

简介:

strace工具是一个非常强大的工具,是调试程序的好工具。要移植到arm平台,就需要使用交叉编译工具编译生成静态链接的可执行文件。具体步骤如下:

1.下载 strace-4.5.16.tar.bz2;下载网址是:http://ncu.dl.sourceforge.net/project/strace/strace/4.5.16/strace-4.5.16.tar.bz2

2.解压。对于ARM平台,必须打上一个补丁,

 

41     /*
1042      * We only need to grab the syscall number on syscall entry.
1043      */
1044     if (regs.ARM_ip == 0) {
1045         /*
1046          * Note: we only deal with only 32-bit CPUs here.
1047          */
1048 ****************************************************************
1049         if (!(tcp->flags & TCB_INSYSCALL) &&
1050             (tcp->flags & TCB_WAITEXECVE)) {
1051                 /* caught a fake syscall from the execve's exit */
1052                 tcp->flags &= ~TCB_WAITEXECVE;
1053                 return 0;
1054             }
1055 ****************************************************************
1056         if (regs.ARM_cpsr & 0x20) {

3.配置。./configure --host=arm-linux CC=arm_v5t_le-gcc LD=arm_v5t_le-ld;

4.编译。make CFLAGS+="-static",生成strace静态可执行文件,3M多;

5.strip。arm_v5t_le-stip strace,这样可执行文件就减小到756多K。

以上采用的是达芬奇平台的arm工具;

 


--------------------------------------------------------------------------------


strace的使用介绍可以参考以下两篇文章:
1.http://www.ibm.com/developerworks/cn/aix/library/au-unix-strace.html。
$ strace -e trace=network -p 4009  
 


本文转自 曾永刚 51CTO博客,原文链接:http://blog.51cto.com/zyg0227/537412


相关文章
|
8月前
|
数据采集 监控 安全
精简高效与安全兼备:ARM32与MCU32平台上的信息协议设计新思路
精简高效与安全兼备:ARM32与MCU32平台上的信息协议设计新思路
278 1
|
8月前
|
存储 人工智能 达摩院
FunASR 语音大模型在 Arm Neoverse 平台上的优化实践
Arm 架构的服务器通常具备低功耗的特性,能带来更优异的能效比。相比于传统的 x86 架构服务器,Arm 服务器在相同功耗下能够提供更高的性能。这对于大模型推理任务来说尤为重要,因为大模型通常需要大量的计算资源,而能效比高的 Arm 架构服务器可以提供更好的性能和效率。
|
8月前
|
缓存 Linux
ARM平台内存和cache对xenomai实时性的影响
ARM平台内存和cache对xenomai实时性的影响
161 0
ARM平台内存和cache对xenomai实时性的影响
|
8月前
|
JSON Ubuntu Linux
LuaJit交叉编译移植到ARM Linux
LuaJit交叉编译移植到ARM Linux
176 1
|
8月前
|
Linux 计算机视觉
Linux交叉编译opencv并移植ARM端
通过以上步骤,你可以在Linux上交叉编译OpenCV,并将生成的库文件和头文件移植到ARM平台上,从而在ARM上使用OpenCV。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
523 0
|
8月前
|
安全 Linux 数据安全/隐私保护
【SPI协议】了解ARM平台上的SPI的基本应用
【SPI协议】了解ARM平台上的SPI的基本应用
685 0
STM32CubeIDE移植ARM DSP库
STM32CubeIDE移植ARM DSP库
|
10天前
|
人工智能 芯片 Windows
ARM架构PC退货率与CEO策略透视
ARM架构PC退货率与CEO策略透视
|
2月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。

热门文章

最新文章