zoukankan      html  css  js  c++  java
  • 使用gdb Server调试嵌入式程序

    由于嵌入式设备上的资源有限,很多时候我们都不得不使用gdb+gdb Server 的方式代替gdb进行程序调试。相对来说,要使用gdb Server调试程序需要做一些额外的设置。步骤如下:

    1. 主机与目标机必须在同一网段,能互相访问
    2. 在目标机上运行gdbserver程序,命令如下:
      gdbserver HOST:PORT [app_name] [paramter] [&]

      说明:HOST为主机的ip地址,PORT可以是任意指定的一个端口, app_name是应用程序的名称,&表示在后台运行。其中,目标机上的app可以是被strip过的,这样可以节省空间。

    3. 在主机上运行gdb,命令如下:
      gdb app_name

      说明: app_name是应用程序的名称。其中,主机上的app必须是在编译时加入过-g 并且未被strip过的。

    4. 使用如下命令指定共享库的位置。

      set solib-absolute-prefix /opt/toolchain/pnx8181/sysroot
      set solib-search-path /usr/local/arm-linux/minigui/lib

      说明:

          solib-absolute-prefix 设置文件系统的路径,里面包含的是目标机上程序运行所需要的系统库。

          solib-search-path 设置目标机上程序运行时所依赖的库文件,比如未加入到文件系统中的第三方开源库等。

    5. 连接目标机上的gdbserver。

      target  remote  TARGET:PORT

      说明: TARGET为目标主机的IP地址,PORT为前面指定的端口。

    6. 使用continue命令开始运行目标机上的调试程序并进行调试。

      c

      说明:不能用run命令,应该用continue命令,因为程序已经开始执行了。

  • 相关阅读:
    索引
    运算符优先级
    身份运算符
    成员运算符
    位运算符
    利用java编写物品的品牌、尺寸、价格、库存(新手)
    今天聊一聊nuxt.js(上)
    初入前端,面对一个项目应注意哪些?
    小型 Web 页项目打包优化方案
    跨域的那些事儿
  • 原文地址:https://www.cnblogs.com/sigmon/p/3678052.html
Copyright © 2011-2022 走看看