安装gdb insight(6.8.1)

如果之前安装过6.8或其它版本,请先删除以下目录

rm -rf /usr/local/insight

rm -rf /usr/share/tcltk

如果之前设置过环境变量,也请删除

unset TCL_LIBRARY

unset ITCL_LIBRARY


安装insight,ubuntu 10不能apt-get install安装,只能下载源码编译安装,

      下载地址:ftp://sourceware.org/pub/insight/releases

请按以下步骤进行:
  Ubuntu 可以直接使用

  sudo apt-get install insight

      1) 安装X界面开发库 sudo apt-get install libx11-dev (包启在libgd2-xpm-dev)

      2) 安装安装termcap库(gdb需要)sudo apt-get install libncurses5-dev

      3) 编译源码

        ./configure --prefix=/usr/local/insight (必须指定安装路径,否则会出现很多找不到库的错误)
        make
        sudo make install

        编译过程中,如果出现以下错误,

  1. elf32-arm.c: In function 'record_vfp11_erratum_veneer':  
  2. elf32-arm.c:2980:7: error: variable 'errcount' set but not used [-Werror=unused-but-set-variable]  
  3. elf32-arm.c: In function 'bfd_elf32_arm_vfp11_erratum_scan':  
  4. elf32-arm.c:3904:23: error: variable 'errcount' set but not used [-Werror=unused-but-set-variable]  
  5. elf32-arm.c: In function 'elf32_arm_final_link_relocate':  
  6. elf32-arm.c:4681:33: error: variable 'sym_hashes' set but not used [-Werror=unused-but-set-variable]  
  7. elf32-arm.c:4680:33: error: variable 'symtab_hdr' set but not used [-Werror=unused-but-set-variable]  
  8. elf32-arm.c: In function 'elf32_arm_relocate_section':  
  9. elf32-arm.c:6586:16: error: variable 'warned' set but not used [-Werror=unused-but-set-variable]  
  10. elf32-arm.c: In function 'elf32_arm_check_relocs':  
  11. elf32-arm.c:7664:12: error: variable 'local_got_offsets' set but not used [-Werror=unused-but-set-variable]  
  12. elf32-arm.c: In function 'elf32_arm_ouput_plt_map_sym':  
  13. elf32-arm.c:9753:37: error: variable 'htab' set but not used [-Werror=unused-but-set-variable] 

  ./configure --prefix=/usr/local/insight --disable-werror 可以解决

insight 的使用说明

Insight是一个Tcl/Tk编写的gdb的图形用户接口,它是由在Red hat以及Cygnus的工程师写的。Red hat大方的将其捐赠给大众使用,甚至不时的提供人力继续完善它的功能。Insight项目始于1994年,至今已经颇为成熟,它能很好的发挥大部分 gdb的强大功能。


编写这个词条的目的,不是为了真的怎样教大家使用这个软件,因为这个软件已经相当的完善,不需要介绍就能轻松上手,主要是为了那些 在internet上盲目搜索在linux下c,c++开发用什么调试器好的人提供一个hint!免得他们走歪路,或者甚至看到gdb那种单板机式的调试 界面后退缩,甚至从此离开linux的人们.我可以很负责任的说,相对于xxgdb,ddd等基于gdb的的gui调试器来说,insight绝对是最 棒,最易用的。


当然在linux下开发c,c++应用程序并非必须用gdb来调试,随着当今java的兴起,很多java IDE都提供c,c++开发功能,著名的有Eclipse(由iBM赞助的java IDE),NetBeans(Sun的java官方IDE),当然在安装eclipse和netbeans的时候你应该选择c/c++开发模块。


但是对于那些喜欢用emacs进行一条龙开发,而又对gdb颇有微词的人,Insight绝对是你最好的选择,而笔者自然就是这样的一种人:)

如果大家平时使用的是gdb调试器,那么看到下面的的画面可能会激动不已,先奉上几张画面吧。

Image:Source-and-asm-separate.png

这是源代码与汇编代码的分离界面


Image:Stack-browsing-with-regs-and-locals.png

比较完善的功能图

开始

好了,安装结束,想使用insight,很简单,直接在命令行中打入insight就可以了,进入insight以後,你可以在他的file菜单下选择要调试的程序名,或者

insight ./foo


通过後跟程序名的方法,就能直接对对给定的程序进行调试了。

4)由于insight 6.8-1是以相对路径寻找tcktk库的,所以必须以全路径方式运行,可以在/usr/local/bin下建个脚本:

         vim /usr/local/bin/insight,输入

        /usr/local/insight/bin/insight $1

        chmod +x insight

         调试程序

          insight exefile


原文地址:https://www.cnblogs.com/breg/p/3829781.html