Ti816x GDB Server 调试

#Ti816x GDB 调试
    详细步骤见40行(指令模式下输入 40gg or 40G)
#GDB

    #板卡端 运行:
            gdbserver PCIP:PORT exe

    #PC端 运行:
            gdb exe
              target remote 板卡IP:PORT

#TEST

    #板卡端:
            gdbserver 10.111.137.37:2345 test.out

    #PC端:
            arm-none-linux-gnueabi-gdb test.out
            target remote 10.111.137.43:2345


#添加 -g 选项

    打开 component.mk 添加:    DVR_RDK_CFLAGS += -g
    重新编译


#gdb 调试

    在板卡端运行gdbserver ip:port exec 前首先开启core
    ulimit -c xxx (xxx 可以是任意数 ,一般选择 unlimited (无穷大))
    然后 可以运行 gdb exec core 之后 执行 bt 就可以看到 哪一行 crash 的
    up down 命令 进入 caller 和 callee 的栈帧 然后 print i打印可能出错的位置




    
    
#详细步骤:
    
    1.首先编译一个DEBUG版本的板卡端程序
        打开dvr_rdk文件夹下的component.mk 在 字符串 export DVR_RDK_LIBS 上面添加一行  DVR_RDK_CFLAGS += -g
        make -s 重新编译,将程序拷贝到板卡中
    2.在板卡端运行GDBserver
        首先运行init.sh load.sh ulimit -s 1024 等除去 运行 ./dvr_rdk_demo_mcfw_api.out 之外的一切脚本或者程序
        然后运行:
        ulimit -c unlimited
        gdbserver PCip:port ./dvr_rdk_demo_mcfw_api.out
    3.在PC端运行gdb程序
        首先进入dvr_rdk目录

        arm-none-linux-gnueabi-gdbtui
        进入GDB调试程序
        target remote Boardip:port


        然后就可以使用gdb调试调试了

        一般调试:输入 continue 启动板卡端程序
        当运行出现段错误时,从板卡端拷贝出core 文件(可能有点大)

        然后在PC 端运行 arm-none-linux-gnueabi-gdbtui  core

        进入gdb 调试
        输入bt 可以看到栈消息
        up down 进入 caller 和 callee 栈

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值