1.
eclipse远程调试的具体配置:
参考该网页上的视频http://www.eeboard.com/bbs/thread-15454-1-3.html
(国外以小哥做的,讲的非常详细)
2.
eclipse debug的具体设置说明:
(对于远程调试的细节说明,防止不必要的麻烦,尤其注意第4点,其他参考视频中说明,注意pc上可能不包含部分sharedlib,如果没有第4步可能会出现一下提示:
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
Cannot access memory at address 0x0
warning: Could not load shared library symbols for 7 libraries, e.g. /lib/arm-linux-gnueabi/libpthread.so.0.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
)
1.
debug之前需要将程序用到的shared library找出来,一般是从arm板上找,pc上的solib可能版本不符。可以先在开发板程序所在的目录下使用ldd softwarename的方式确定该software(我创建的软件叫obexapp)所需要用到的sharedlib,然后将他们拷贝到pc工程目录下自己创建的sharedlib中,最后在debug configuration中的share lib选项中添加此路径。另外还需添加自己编译的sharedlib路径。
2.debug configuration的具体设置见图:
1) main-》c/c++ application:选取应用的存放位置
2) 选用manual remote debugging launcher,这一步是根据remote debug来的
3) debugger-》main-》GDB debugger:gdb-multiarch,参考视频中外国小哥 的方式,当然也可以用交叉编译工具的gdb
4) debugger-》shared libraries:最重要的一部,就是要设置好obexapp用到的sharedlib的路径,图中,前两行是我自己编译生成的solib,最后一行是系统中的一些solib,主要是交叉编译工具的solib,可以用前面提到的使用ldd命令查看。
5) 设置arm板的ip以及pc和arm板的共用端口号。注意在这之前先要在arm板的obexapp目录下使用如下命令:
gdbserver 192.168.7.1:12345 obexapp
监听pc的12345端口。(视频中有说明)
6) 按下debug键即可进行调试了(另外如果程序有入口参数可以将参数放在debug设置选项中的参数argument中)。
另外还需注意debug程序之前的编译过程中需要添加-g选项:CFLAGS += -g。