易截截图软件、单文件、免安装、纯绿色、仅160KB

VIM+GDB linux c/c++ 的编程利器

其实VIM也能把编译 调试集成在一起,像是一个IDE一样。
首先现在VIM的源码,因为要集成调试环境的话需要重新编译VIM才行,所以我们不如重新安装一个。
VIM的现在地址:
http://www.vim.org/sources.php
然后下载VIMGDB,这是vim的集成调试环境的一个重要插件程序。
地址:http://sourceforge.net/projects/clewn/files/vimGdb/ 
,选择对应的VIM版本下载。
把下载下来的文件都放到 ~/install/中
然后:
cd ~/install/
tar xjf vim-7.2.tar.bz2
tar xzf vimgdb72-1.14.tar.gz
patch -d vim72 --backup -p0 < vimgdb/vim72.diff
这样就解压出vim和vimgdb,并对vim的configure文件自动做了调整
接下来:
cd ~/install/vim72
make
make install
就装好vim了。
然后:
cd ~/install/vimgdb
mkdir ~/.vim
tar zxf vimgdb_runtime.tgz -C ~/.vim/
这样就装好了,接下来启动vim
先把vimgdb的帮助导进去
:helptags ~/.vim/doc
这样就可以
:help vimgdb
来看vimgdb的帮助了
这样 我们先打开一个c程序
并且为这个程序写好一个Makefile文件

:make
来编译这个源码。
根据生成的报错信息 我们可以来修改程序,敲回车会跳转到第一个错误,用cnext
会到下一个错误,cprevious
到上一个错误,cc n
跳到第n个错误,cc
显示当前错误的详细信息
接下来我们要试一下vimgdb的调试功能了。
首先:
:run macros/gdb_mappings.vim
来加载vimgdb映射的键
这个时候我们可以用
:help gdb-mapping
来查看加载键的用法
用<F7>
可以启用/关闭加载的键
现在,按空格键,就会在当前窗口下方打开一个小窗口,这就是vimgdb的命令窗口,可以在里面输入gdb命令。现在,我们在这个窗口中输入”gdb
“,按回车后,command-line窗口自动关闭,而在当前窗口上方又打开一个窗口,这个窗口是gdb输出窗口。现在vim的窗口布局如下(我又按空格打开了command-line窗口)
然后在这个窗口里
file test
打开要调试的程序
然后在源码文件里可以CTRL+B
来设置断点,R
来运行程序,S
单步执行  其他命令可以用:help gdb-mapping
来查看
我们可以用
:bel 20vsplit gdb-variables
在右侧打开一个小窗口来显示要跟踪的变量的值
在源码文件里,用 "v
" (表示visual模式) 选定要跟踪的变量,然后CTRL+P
把变量加到右边的监视窗口。
还以在gdb的命令窗口 用
createvar *r
来创建新的监视变


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

linux下多线程 之 pthread_detach(pthread_self())

正式实习一周,有点感触。本来就没指望能成为什么技术大牛,用自己调侃的话来说就是“混口饭吃”。不过老大对me的期望值那么高,经理管得这么严,压力颇大。对自己挺失望,没能开好头,有点对不起这么成功的老大。还好没准备做什么大事,要不然这性格得费多大力气才能重塑。。。
都是逼出来的,被经理训后,一天 ......

firefox 简单 插件编译 【linux】

#ifdef XP_UNIX
/*
* Set up the plugin function table that Netscape will use to
* call us. Netscape needs to know about our version and size
* and have a UniversalProcPointer for every function we
* implement.
*/
pluginFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR;
......

linux常用命令及经典用法

      我就是一个小新手+小菜鸟,正在发奋学习linux,初有心得遂决定记录下来,也许对有些人来说我写的都太浅显,但是对初学者来说绝对是有用的,可以让你少走很多弯路,况且我会由浅入深的,沿着我的足迹一起学习吧,加油!
      本来想先写系统安装,然后环境配置, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号