GDB调试以及GUI工具Insight的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GDB调试以及GUI工具Insight的使用相关的知识,希望对你有一定的参考价值。

Insight Home Page:The GDB GUI.

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

 

下载地址:

ftp://sourceware.org/pub/insight/releases

解压缩:

tar -jvxf insight-6.6a.tar.bz2

需要修改两个文件:tk/generic/tk.h和tk/generic/tkBind.c。

将(line 653)
#define VirtualEvent (LASTEvent)
#define ActivateNotify (LASTEvent + 1)
#define DeactivateNotify (LASTEvent + 2)
#define MouseWheelEvent (LASTEvent + 3)
#define TK_LASTEVENT (LASTEvent + 4)
改为:
#define VirtualEvent (MappingNotify)
#define ActivateNotify (MappingNotify + 1)
#define DeactivateNotify (MappingNotify + 2)
#define MouseWheelEvent (MappingNotify + 3)
#define TK_LASTEVENT (MappingNotify + 4)
并将随后的#define TK_LASTEVENT (LASTEvent + 4)删除(line 661附近)

tk.h:

/*
*---------------------------------------------------------------------------
*
* Extensions to the X event set
*
*---------------------------------------------------------------------------
*/
#define VirtualEvent (MappingNotify)
#define ActivateNotify (MappingNotify + 1)
#define DeactivateNotify (MappingNotify + 2)
#define MouseWheelEvent (MappingNotify + 3)
#define TK_LASTEVENT (MappingNotify + 4)

#define MouseWheelMask        (1L << 28)

#define ActivateMask        (1L << 29)
#define VirtualEventMask    (1L << 30)

在line 586和line 587之间增加
#ifdef GenericEvent
0,
#endif

   /* SelectionNotify */    0,
   /* ColormapNotify */        COLORMAP,
   /* ClientMessage */        0,
#ifdef GenericEvent
                0,
#endif
   /* MappingNotify */        0,
   /* VirtualEvent */        VIRTUAL,

 

./configure  --enable-werror=no
make -j8

以上是关于GDB调试以及GUI工具Insight的使用的主要内容,如果未能解决你的问题,请参考以下文章

GDB 使用 clone() 调试应用程序

Linux调试工具gdb的使用

如何使用 gdb 调试 GUI 程序

Linux学习: 使用gdb和gdbserver进行调试

Linux学习: 使用gdb和gdbserver进行远程调试

linux学习之gdb调试工具篇