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机上用,大功告成。
相关文章
- databus编译:Could not resolve all dependencies for configuration ':databus2-relay:databus2-event-producer-mock:compile
- :
or : [: ]: . Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1] : Unknown lifecycle phase "mvn". You must specify a valid lifecycle phase or a goal in the format : or : [: ]: . Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. at (:246) at (:217) at (:127) at (:145) at (:96) at (:109) at (:80) at (:51) at (:128) at (:307) at (:193) at (:106) at (:863) at (:288) at (:199) at .invoke0(Native Method) at (:62) at (:43) at (:498) at (:289) at (:229) at (:415) at (:356)">You must specify a valid lifecycle phase or a goal in the format : or [ERROR] Unknown lifecycle phase "mvn". You must specify a valid lifecycle phase or a goal in the format : or : [: ]: . Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1] : Unknown lifecycle phase "mvn". You must specify a valid lifecycle phase or a goal in the format : or : [: ]: . Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. at (:246) at (:217) at (:127) at (:145) at (:96) at (:109) at (:80) at (:51) at (:128) at (:307) at (:193) at (:106) at (:863) at (:288) at (:199) at .invoke0(Native Method) at (:62) at (:43) at (:498) at (:289) at (:229) at (:415) at (:356) - transformer架构中 encoder decoder self-attention cross-attention的作用
- 第11.25节 Python正则表达式编译re.compile及正则对象使用
- strict-origin-when-cross-origin nginx、tomcat、java、vue 跨域问题
- FULL JOIN和CROSS JOIN的区别
- Areas on the Cross-Section Diagram
- VUE项目npm run serve报了好多个错: ERROR Failed to compile with 123 errors 解决方案
- tensorflow计算交叉熵损失函数(cross_entropy)的方法总结
- c++ makefile + clangd 生成 compile_command.json