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机上用,大功告成。

最新文章

  1. 最新Android系统版本与API等级对应关系表
  2. Xcode7--免证书真机调试
  3. .NET LINQ 投影运算
  4. pycharm 格式化代码
  5. Portlet之讲解
  6. Oracle Directory文件夹的知识
  7. MVC 部分视图
  8. C++中的动态类型与动态绑定、虚函数、运行时多态的实现
  9. js遍历对象的数组
  10. SQL模擬死結產生
  11. PLSQL Developer中文乱码问题
  12. nginx启用status状态页
  13. CString与string、char*的区别和转换
  14. Java学习笔记——鸵鸟学习记(一)
  15. TRIO-basic指令--FLEXLINK
  16. Java NIO -- 缓冲区(Buffer)的数据存取
  17. BeanFactoryPostProcessor vs BeanPostProcessor
  18. git add 文件夹
  19. React Native(十)——TextInput一点小结
  20. hdu_1086 You can Solve a Geometry Problem too(计算几何)

热门文章

  1. 报错:Flink Could not resolve substitution to a value: ${akka.stream.materializer}
  2. kafka性能调优(转)
  3. note10 元组
  4. Android Studio无法识别手机
  5. Postman 中上传图片的接口怎么做参数化呢?
  6. [python,2019-02-15] 最短回文串
  7. Docker笔记——Docker安装及制作镜像
  8. 编译安装Python3
  9. oracle SQL多表查询
  10. python大法好——多线程