移植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


相关文章
|
6月前
|
数据采集 监控 安全
精简高效与安全兼备:ARM32与MCU32平台上的信息协议设计新思路
精简高效与安全兼备:ARM32与MCU32平台上的信息协议设计新思路
269 1
|
6月前
|
存储 人工智能 达摩院
FunASR 语音大模型在 Arm Neoverse 平台上的优化实践
Arm 架构的服务器通常具备低功耗的特性,能带来更优异的能效比。相比于传统的 x86 架构服务器,Arm 服务器在相同功耗下能够提供更高的性能。这对于大模型推理任务来说尤为重要,因为大模型通常需要大量的计算资源,而能效比高的 Arm 架构服务器可以提供更好的性能和效率。
|
6月前
|
缓存 Linux
ARM平台内存和cache对xenomai实时性的影响
ARM平台内存和cache对xenomai实时性的影响
144 0
ARM平台内存和cache对xenomai实时性的影响
|
6月前
|
JSON Ubuntu Linux
LuaJit交叉编译移植到ARM Linux
LuaJit交叉编译移植到ARM Linux
141 1
|
6月前
|
Linux 计算机视觉
Linux交叉编译opencv并移植ARM端
通过以上步骤,你可以在Linux上交叉编译OpenCV,并将生成的库文件和头文件移植到ARM平台上,从而在ARM上使用OpenCV。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
453 0
|
6月前
|
安全 Linux 数据安全/隐私保护
【SPI协议】了解ARM平台上的SPI的基本应用
【SPI协议】了解ARM平台上的SPI的基本应用
617 0
|
6月前
|
安全 Ubuntu Linux
ARM可信固件(TF-A)移植
ARM可信固件(TF-A)移植
255 1
STM32CubeIDE移植ARM DSP库
STM32CubeIDE移植ARM DSP库
|
1月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
1月前
|
存储 Docker 容器
ARM架构鲲鹏主机BClinux离线安装docker步骤
下载并安装适用于ARM架构的Docker CE二进制文件,解压后移动至/usr/bin目录。创建docker组,配置systemd服务脚本(docker.service、docker.socket、containerd.service),重载systemd配置,启动并启用docker服务。编辑daemon.json配置存储驱动、镜像加速地址等,最后拉取所需镜像。
46 0