当前位置: 首页 > news >正文

济南做平台网站的蜘蛛搜索

济南做平台网站的,蜘蛛搜索,怎么做网站推广电话,网站主页制作教程1.前言 1.在linux下开发,免不了使用gdb调试,但是linux下开发嵌入式,都是跑在ARM板子上的,网上有很多GDB的基础教程,但是能在ARM开发板用的时候,会有各种问题。 比如:*.cpp: No such file or di…

1.前言

1.在linux下开发,免不了使用gdb调试,但是linux下开发嵌入式,都是跑在ARM板子上的,网上有很多GDB的基础教程,但是能在ARM开发板用的时候,会有各种问题。
比如:*.cpp: No such file or directory.这是因为用gcc编译的时候,代码还是在本地,并没有在arm平台上来。
所以说还是有必要出一个arm端使用gdb教程

2.下载,编译gdb服务端(运行在arm端)

1.下载gdb8.3:下载地址
我也试过其他版本的gdb,比如说gdb7.6,会缺少一些依赖库termcap,搞起来挺麻烦的,所以还是推荐使用gdb8.3吧。配置编译安装一步过。

1.解压。

tar -xzf gdb-8.3.tar.gz
cd gdb-8.3

2.配置

./configure --prefix="$PWD/_install" --disable-shared --target=aarch64-himix210-linux --host=aarch64-himix210-linux
记住aarch64-himix210-linux换成自己的编译器

3.编译

make -j8
make install
最后的结果gcore gdb gdb-add-index gdbserver run文件在gdb-8.3/install/bin目录下,拷贝到arm的rootfs中备用。

3.编译gdb服务端(运行在arm端)

1.清理gdb工程

make distclean

2.配置,编译,安装

./configure --target=aarch64-himix210-linux --prefix="~/.local/bin" –program-prefix=aarch64-himix210-linux
说明:
1.–target=aarch64-himix210-linux 意思是说目标平台是运行于ARM体系结构的linux内核;
2.–program-prefix=aarch64-himix210-linux 是指生成的可执行文件的前缀,比如aarch64-himix210-linux-gdb(可选参数)
3.–prefix= 是指生成的可执行文件安装在哪个目录,这个目录需要根据实际情况作选择。如果该目录不存在,会自动创建(当然,权限足够的话)

编译,安装
make
make install

4.使用

4.1前期准备

将之前生成的 gdbserver 调试程序放在目标板上或者通过 nfs 方式运行也可以.这样就可以用 gdb 和 gdbserve 远程调用来调试目标板上的程序了。


一般情况 gdbserver 程序较大,所以建议采用 nfs 的方式挂载在目标板上运行较好,也可以通过 strip 减少 gdbserver 的大小(删除程序中符号表、调试符号表信息等)

4.2在arm板上运行gdbserver

./gdbserver --remote-debug 192.168.1.100:8005 helloworld
192.168.1.100 为PC开发主机的 IP 地址; 8005 是用来作为 gdb 调试监听的端口,可自行设置;helloworld是编译好的目标操作程序

为了更好地使用 gdb 的调试功能,
在编译目标板程序helloworld时需加入gcc -g 选项,
或者CMakelists.txt中添加
SET(CMAKE_BUILD_TYPE "Debug") SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb") SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")

4.3 在PC上运行gdb

1、在宿主机上运行 gdb 程序
./aarch64-himix210-linux helloworld
aarch64-himix210-linux-gdb 是编译 gdb 生成安装在 bin 目前录下的文件,名称可能因为设置了 –program-prefix 参数有所改变,helloworld是和目标板上的 helloworld一样的程序文件
2、进入 gdb 调试状态后,连接目标板
(gdb) target remote 192.168.1.102:8005
192.168.1.102 为ARM板的 IP 地址,8005 则是 gdb 调试监听的端口
3、连接成功后则开始运行,pc机之后根据 gdb 指令设置断点、单步调试等功能进行调试
(gdb) r

5 附:GDB常用的调试指令

GDB 调试器提供有大量的调试选项,可满足大部分场景中调试代码的需要。如表所示,罗列了几个最常用的调试指令(包含指令缩写)及各自的作用:

GDB常用的调试指令
GDB 调试器提供有大量的调试选项,可满足大部分场景中调试代码的需要。如表所示,罗列了几个最常用的调试指令(包含指令缩写)及各自的作用:

调试指令作 用
(gdb) break xxx
(gdb) b xxx
在源代码指定的某一行设置断点,其中 xxx 用于指定具体打断点的位置。
(gdb) run xxx
(gdb) r
执行被调试的程序,其会自动在第一个断点处暂停执行
(gdb) continue
(gdb) c
当程序在某一断点处停止运行后,使用该指令可以继续执行,直至遇到下一个断点或者程序结束。
(gdb) next
(gdb) n
令程序一行代码一行代码的执行。
(gdb) print xxx
(gdb) p xxx
打印指定变量的值,其中 xxx 指的就是某一变量名。
(gdb) list
(gdb) l
显示源程序代码的内容,包括各行代码所在的行号。
(gdb) quit
(gdb) q
退出。
http://www.tj-hxxt.cn/news/20447.html

相关文章:

  • 做自媒体关注的网站个人网站的制作
  • 杭州房产免费网站建设网站在线生成app
  • 多用户b2b2c商城系统专业网站优化公司
  • 如何购买网站服务器宁波seo推广优化
  • 北京专业企业营销网站建设网络链接推广
  • 摄像头监控视频怎么做直播网站成都做网络推广的公司有哪些
  • 怎样购买网站域名市场营销平台
  • 网站制作公司价格东莞seo网络优化
  • 平顶山做网站的公司百度seo引流怎么做
  • 平面设计素材网站推荐国内外搜索引擎大全
  • 做网站你给推广360推广平台登录入口
  • 怎么做快播电影网站公司网站设计图
  • html5手机移动app网站制作教程短视频运营是做什么的
  • 免费行情软件app网站大全下载苹果网推app怎么推广
  • dw网页制作素材网站怎么在网上做推广
  • wordpress调用分类名宁波网站seo诊断工具
  • 国外域名的网站怎么做百度收录刷排名
  • 网站建设要域名和什么科目关键词优化软件有哪些
  • 网站用户维度nba体育新闻
  • 做网站还需要搜狗吗产品营销方案
  • 门户网站建设询价公告微信朋友圈广告30元 1000次
  • 网站换服务器后备案填写网站名称可以改么企业网站建设cms
  • 定陶区城乡和住房建设局网站东莞网站制作推广公司
  • 便宜的海外服务器seo排名关键词搜索结果
  • 牧原镇暖泉村党建网站建设抖音广告推广
  • wordpress加代码广告企业网站建设优化
  • 为什么公司网站打开很慢网站关键词排名查询工具
  • 江苏新站优化营销推广有哪些公司
  • 那些网站可以做兼职推广平台
  • 做网站时点击显示百度收录推广