使用图形界面调试arm程序: insight + gdb

http://blog.csdn.net/lanmanck/article/details/4545023


【转帖请注明出处:blog.csdn.net/lanmanck】

1、首先下载insight,我这里是6.8版本,里面已经包含gdb和gdbserver了 :)

2、编译pc端得程序,类似visual studio,可以按照这篇文章来做:

http://linux.chinaunix.net/techdoc/develop/2008/12/28/1055528.shtml

但是有一点上述文章没有提到,那就是编译器链接库路径也要加进去的问题。

#cd insight

#./configure --target=arm-linux --prefix=/opt/work/insight --with-solib-absolute-prefix=/opt/armgcc/4.3.2/libc/lib

 

3、编译arm端得gdbserver:

cd insight/gdb/gdbserver

./configure --host=arm-linux --target=arm-linux

make

现在gdbserver已经生成,拷贝到arm文件系统的bin目录下即可。

 

============================调试方法===========================

1、打开arm-linux-insight,可以看到友好的界面,他会自动加载arm-linux-gdb

2、在界面打开一个arm可执行文件。这时会弹出对话框,让你选择gdb连接方式:有串口、tcp(网口)等。

3、在串口端运行gdbserver 192.168.1.2:1000 myarmexec,然后在insight选择好连接方式,点确定即可。

insight里的端口号1000好像改不了,咋回事?

 

注意:如果编译insight的时候,arm-linux-gcc的库路径没有加上去的话,会报一堆错误和警告,例如:

xxx is not at the expected address。

Error while mapping shared library sections。

 

解决方法如下2种之一:

1)、按照第一个步骤,把编译路径加上去:

--with-solib-absolute-prefix=/opt/armgcc/4.3.2/libc/lib

2)、在insight加载文件之前,设置好路径:

在insight的菜单打开gdb的console,用命令: set solib-absolute-path=/opt/armgcc/4.3.2/libc/lib

 或者:set solib-search-path

现在,我们也可以像visual studio 那样调试linux程序了,嘿嘿.

 

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(1923) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~
评论热议
原文地址:https://www.cnblogs.com/ztguang/p/12648435.html