cross compile gdbserver
1. 下载gdb源码,7.12版本,下载地址:ftp://ftp.gnu.org/gnu/gdb。
2. 编译gdb:
0> cd gdb-7.12
1> mkdir __install
2> ./configure --target=arm-linux --enable-shared --prefix=\$(pwd)/__install --without-x --disable-gdbtk --disable-tui --without-included-regex --without-included-gettext
3> make && make install
4> 可以看到gdb-7.12/gdb/下面有编译成功的gdb程序。
3. 编译gdbserver:
0> export PATH=/path to/__install/bin:$PATH 将上一步编的gdb添加环境变量。
1> cd gdb-7.12/gdb/gdbserver
2> vim linux-arm-low.c,添加如下代码:
#ifndef __NR_sigreturn
#include "/path to/asm/unistd.h"
#endif
源码有错误,找不到__NR_sigreturn定义,故而需要我们在板子系统交叉编译库里找到这个定义。
3> ./configure --target=arm-linux --host=arm-linux CC=/path to/arm-himix200-linux-gcc CXX=/path to/arm-himix200-linux-g++ AR=/path to/arm-himix200-linux-ar
需要注意的是,这里的target是arm-linux,根据板子系统而定。后面的CC、CXX、AR要使用板子系统对应的gnu版本编译器,用来交叉编译。
4> make
5> 可以看到gdb-7.12/gdb/gdbserver下面有编译成功的gdbserver程序。
4. 然后把gdbserver丢到板子上用,gdb留pc机上用,大功告成。
最新文章
- 最新Android系统版本与API等级对应关系表
- Xcode7--免证书真机调试
- .NET LINQ 投影运算
- pycharm 格式化代码
- Portlet之讲解
- Oracle Directory文件夹的知识
- MVC 部分视图
- C++中的动态类型与动态绑定、虚函数、运行时多态的实现
- js遍历对象的数组
- SQL模擬死結產生
- PLSQL Developer中文乱码问题
- nginx启用status状态页
- CString与string、char*的区别和转换
- Java学习笔记——鸵鸟学习记(一)
- TRIO-basic指令--FLEXLINK
- Java NIO -- 缓冲区(Buffer)的数据存取
- BeanFactoryPostProcessor vs BeanPostProcessor
- git add 文件夹
- React Native(十)——TextInput一点小结
- hdu_1086 You can Solve a Geometry Problem too(计算几何)
热门文章
- 报错:Flink Could not resolve substitution to a value: ${akka.stream.materializer}
- kafka性能调优(转)
- note10 元组
- Android Studio无法识别手机
- Postman 中上传图片的接口怎么做参数化呢?
- [python,2019-02-15] 最短回文串
- Docker笔记——Docker安装及制作镜像
- 编译安装Python3
- oracle SQL多表查询
- python大法好——多线程