导航:首页 > 源码编译 > gdb交叉编译是什么

gdb交叉编译是什么

发布时间:2022-04-27 16:01:43

① gdb是什么有什么功能

GDB(GNU symbolic debugger)简单地说就是一个调试工具。主要应用在linux/Unix平台上

② Linux 里面的gdb到底是个什么东西

Linux 包含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用情况. 以下是 gdb 所提供的一些功能:
它使你能监视你程序中变量的值.
它使你能设置断点以使程序在指定的代码行上停止执行.
它使你能一行行的执行你的代码.

命令行上键入 gdb 并按回车键就可以运行 gdb 了, 如果一切正常的话, gdb 将被启动并且你将在屏幕上看到类似的内容:
GDB is free software and you are welcome to distribute copies of it

under certain conditions; type "show ing" to see the conditions.

There is absolutely no warranty for GDB; type "show warranty" for details.

GDB 4.14 (i486-slakware-linux), Copyright 1995 Free Software Foundation, Inc.

(gdb)
当你启动 gdb 后, 你能在命令行上指定很多的选项. 你也可以以下面的方式来运行 gdb :
gdb <fname>
当你用这种方式运行 gdb , 你能直接指定想要调试的程序. 这将告诉gdb 装入名为 fname 的可执行文件. 你也可以用 gdb 去检查一个因程序异常终止而产生的 core 文件, 或者与一个正在运行的程序相连. 你可以参考 gdb 指南页或在命令行上键入 gdb -h 得到一个有关这些选项的说明的简单列表.

③ 开发板上如何使用GDB

调试时,应用程序在嵌入式目标系统上运行,而gdb调试在Host端。 一、编译安装gdb+gdbserver 首先下载gdb源码,我下载的是gdb-6.6.tar.gz。$tar xvzf gdb-6.6.tar.gz$mkdir mygdb$cd mygdb必须要在你想要安装的目录下执行下边的命令。$../gdb-6.6/configure --target=arm-linux \ --prefix=/home/a/mygdb参数说明:target是你的目标板,我的是arm-linux,prefix是你要安装的目标文件夹。$make$make install然后建立gdbserver。$mkdir mygdbserver$cd mygdbserver$chmod +x ../gdb-6.6/gdb/gdbserver/configure$CC=arm-linux-gcc ../gdb-6.6/gdb/gdbserver/configure \--host=arm-linux --prefix=/home/a/mygdbserver$make$make install$arm-linux-strip gdbserver去除调试信息。不去好像不行,我的就不行,去了就ok了。复制到你的开发板上就可以了。 二、调试步骤1、交叉编译,带参数-g加入调试信息。假设要调试的程序为test.c。#arm-linux-gcc -g test.c -o test2、在Target Board开启gdbserver#gdbserver <host-ip>:2345 testgdbserver开始监听2345端口(你也可以设其他的值),然后启动test,你会看到“Process test created:pid=88”3、回到Host端#arm-linux-gdb test最后一行显示:This GDB was configured as “--host=i686-pc-linux-gnu,--target=arm-linux”...说明此gdb在X86的Host上运行,但是调试目标是ARM代码。(gdb)target remote <target-board-ip>:2345注意:你的端口号必须与gdbserver开启的端口号一致,这样才能进行通信。建立链接后,就可以进行调试了。调试在Host端,跟gdb调试方法相同。注意的是要用“c”来执行命令,不能用“r”。

④ 如何在ubuntu中搭建交叉编译环境toolchain

1.安装交叉编译环境 sudo apt-get install gcc g++ libcc1 libg++ make gdb
2.安装交叉编译器 f
tp:
//ftp.
arm.linux.org.uk/pub/armlinux/toolchain/ 下载 cross -3.2.tar.bz2或者懒得去找干脆
wget f
tp://ftp.
arm.linux.org.uk/pub/armlinux/toolchain/ cross -3.2.tar.bz2
解压
sudo tar jxvf /home/zhaifang/cross -3.2.tar.bz2
sudo mv /home/zhaifang/usr/local/arm /usr/local
3.交叉编译器加入路径 sudo vi /etc/bash.bashrc后面加入
if [ -d /usr/local/arm ] ; then
PATH=/usr/local/arm/bin:'${PATH}'
fi
4.使环境生效 #source /etc/profile
5.检查 echo $PATH 出现/usr/local/arm/bin说明成功了
6.测试 arm-linux-gcc -v

⑤ “GDB”是什么意思

gdb:UNIX及UNIX-like下的调试工具。如果在 UNIX平台下做软件,GDB调试工具相比于VC、z的优点是具有修复网络断点以及恢复链接等功能,比BCB的图形化调试器有更强大的功能。

2009年12月29日,程序调试工具 GDB 7.0.1 发布,新版本修正了7.0版本的一些严重的堆栈溢出bug,这些bug可能导致 GDB 调试进程中断,修正了在 FreeBSD 和 IRⅨ 系统下无法编译的问题,增加了对 Thumb2调试的支持,还有其他一些小bug的修复。

(5)gdb交叉编译是什么扩展阅读:

gdb通常可以捕捉到发送给它的大多数信号,通过捕捉信号,它就可决定对于正在运行的进程要做些什么工作。例如,按CTRL-C将中断信号发送给gdb,通常就会终止gdb。但是不想中断gdb,真正的目的是要中断gdb正在运行的程序,因此,gdb要抓住该信号并停止它正在运行的程序,这样就可以执行某些调试操作。

⑥ ecplise和GDB有啥区别想学linux嵌入式,可是被各种各样的软件搞晕了!ecplise、GDB、GCC。。

eclipse是开发java的 也有C++(好像是),gdb是调试软件。gcc是编译软件。arm-linux-gcc是交叉编译器,就是说在电脑上编译,但是只在arm上运行。arm-linux-gcc在linux环境必须安装

⑦ linux gdb 交叉编译是什么

一般用于嵌入式开发中。
由于嵌入式环境中的CPU/内存都很小,不能用于编译。PC机的性能都很好,编译起来也很快。
交叉编译的意思就是,在PC上编译,编译出来的程序在嵌入式机器上运行。

⑧ 为什么对arm进行裸机开发的时候不需要交叉编译环境,而进行linux移植的时候就需要呢

交叉编译只是用arm-linux-gcc,为什么要用这个编译器,因为Linux系统是用这个编译的,你想运行在linux平台运用程序,必须和系统是同一个版本的编译器。不是同一个版本都不能运行。
逻辑开发你也可以用gcc编译器啊,同样可以编译出bin文件,同样可以运行。
我们平时用的都是IDE,说白了就是在gcc的基础上加了简单容易操作的窗口,像添加断电、查看运行状态,这些在gcc下也是可以实现的,调试工具叫gdb。

⑨ arm-linux 交叉编译环境的建立,希望有清楚的人解答,复制的闪人

是这样子的,计算机linux中原有的gcc是针对通用的X86等处理器而言的,编译出来的可执行文件是只能在通用计算机上运行的,arm也是一种处理器,只不过其指令等和X86等CPU不同,所以需要有针对arm的编译器来编译源程序,才能在arm中运行。
我在arm9下做过linux,qt编程,需要先在PC上安装linux,然后安装arm-linux-gcc,同时为了可以使用arm-linux-gcc来编译程序,需要指定环境变量,这个可以在.profile等文件中进行更改,具体办法你查一下就知道了。或者使用export命令在终端中设置环境变量。两种方法的结果有区别哦!
你想用2440的开发板的话就是arm9了,我还没找到arm9的仿真工具,但是网上已经有arm7的仿真工具。
对于arm-linux-gcc,只要你安装好并设置好了路径(环境变量)后,在一个终端中输入#arm-linux-gcc -v
那么你一般可以看到你安装的arm-linux-gcc 版本信息,到此你就可以使用它编译你的源程序,然后将生成的可执行文件下载到arm开发板中就可以运行了。
还有什么问题再说吧,我也是一个人摸索出来的,估计摸索了一个月才成功的在arm上运行了第一个自己的qt图形界面程序,祝你好运!
我的建议:
一、熟悉linux 的各种操作命令(如export)
二、学会怎么下载可执行文件到arm中
三、学会用pc控制arm上的linux

我只用过arm-linux-gcc,在你的安装文件夹下可以找到

阅读全文

与gdb交叉编译是什么相关的资料

热点内容
价格便宜的云服务器 浏览:551
宝马n52电脑怎么编程 浏览:350
安卓平板android如何降级 浏览:124
苹果怎么下载整理文字软件app 浏览:130
怎么删除一个app下载任务 浏览:713
python执行bat命令 浏览:471
什么吉他调音器app最好 浏览:33
php程序员招聘试题 浏览:14
程序员升职记第九关最优解 浏览:317
三星安卓11怎么访问data文件夹 浏览:817
华三服务器怎么设置开机自启 浏览:711
钉邮登录服务器地址 浏览:644
起源编译器适配第二款应用 浏览:433
cad弄断线条命令 浏览:463
怎么恢复手机app的安装包 浏览:300
idea重启项目不编译 浏览:495
程序员那么可爱演员表陆漓妈妈 浏览:127
linuxgadget驱动 浏览:594
华三调用acl的命令 浏览:9
资金流pdf 浏览:931