zoukankan      html  css  js  c++  java
  • 移植strace调试工具到arm平台

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

     移植strace调试工具到arm平台 由Linux系统中文网(Linux521.com)编辑收集整理,除Linux521注明原创文章外,其版权归原作者所有。如果您在学习中遇到问题欢迎在下面的评论中留言,我们会尽全力解答您的问题。

     

    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 

  • 相关阅读:
    go包初始化顺序
    go map
    go包管理
    C++ 线程池
    RAFT共识算法笔记
    最大子序列和
    常见网络攻击及其防御
    go常用标准库功能
    using代替typedef
    typename和class的区别
  • 原文地址:https://www.cnblogs.com/lidabo/p/4523783.html
Copyright © 2011-2022 走看看