Vim GDB 调试器编译配置说明
2019独角兽企业重金招聘Python工程师标准>>>
<hr> 首先,对之前提到vim环境下中文字符显示乱码的问题作出一个补充。<br> 本人的Redhat内核版本2.4.20,其中vim默认安装的版本为6.1,出现中文乱码个人认为可能有两个原因:<br> 第一,6.1版本的vim过于老旧,对中文部分编码不支持。<br> 第二,之前编译vim源码时,执行./configure命令未添加 --enable-multibyte(支持多重编码)参数。<br> <hr><br> 然后,介绍一下采用vim7.3版本代替之前的vim6.1,并为vim添加gdb调试器补丁的过程。<br> **1、先下载vim-7.3.tar.bz2、vimgdb-for-vim7.3-master.zip这两个压缩包。**<br> vim7.3源码包:<ftp://ftp.vim.org/pub/vim/unix/><br> gdb补丁包:<https://github.com/larrupingpig/vimgdb-for-vim7.3><br> 下载完成后将其放至home目录。<br> 对文件进行解压:<br> \# tar –jxvf vim-7.3.tar.bz2<br> \# unzip vimgdb-for-vim7.3-master.zip<br> 为vim7.3打补丁:<br> \# patch –p0 < ./ vimgdb-for-vim7.3-master/vim73.patch<br> 进入vim73目录,开始编译:<br> \# cd vim73<br> \#./configure --enable-gdb --enable-gui=gtk2 --enable-cscope --enable-multibyte --enable-xim --enable-fontset --with-features=huge<br>
vim7.3的configure配置说明:<br>
- --enable-gdb #支持gdb调试<br>
- --enable-gui=gtk2 #gtk2支持,也能使用gnome<br>
- --enable-cscope #cscope支持<br>
- --enable-multibyte #双字符支持<br>
- --enable-xim #输入法支持<br>
- --enable-fontset #双字符支持<br>
- --with-features=huge# 最大特性支持<br>
2、当执行完以上配置命令后,可能会编译报错error: cannot compute sizeof (off_t)<br> <br> 原因:<br> vim在进行源码编译时,依赖于Libiconv库,而此时系统可能缺少相关的库,或者有库文件但不在编译寻找的路径中。<br> 解决方法:<br> 安装libiconv库(有则无需安装):<br> 先下载libiconv-1.14.tar.gz文件,网上资源很多:<br> http://www.gnu.org/software/libiconv/<br> 下载完成后将其拷至home目录,解压后,进入目录按照readme执行编译安装:<br> # ./configure --prefix=/usr/local<br> # make ; make install<br>
此时,libiconv库已经安装完毕,但如果进入vim目录继续编译源码,可能仍然提示之前的报错信息,这是因为libiconv库所在路径并不在vim源码编译搜索的路径范围,所以要解决问题,只能向编译器设定额外的工作路径。<br> 命令如下:<br> export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH<br> 此时再次进入vim73目录执行:<br> #./configure --enable-gdb --enable-gui=gtk2 --enable-cscope --enable-multibyte --enable-xim --enable-fontset --with-features=huge<br> 然后执行:<br> # make ; make install<br> 编译安装成功!此时你可以用Vim打开任意带有中文字符的文件,会发现再无乱码出现。<br> <br> 3、此时,配置工作还尚未结束。<br> 还要将vimgdb-for-vim7.3-master /vimgdb_runtime/路径内的文件拷贝到~/.vim/目录下,并在~/.vimrc配置文件中添加如下语句:<br> source ~/.vim/macros/gdb_mappings.vim<br> VimGdb调试器的编译配置工作就此已结束,具体使用请参看vimGBD的文档,或~/.vim/doc/gdb.txt 。<br>
4、最后,本文在编译vim7.3的过程中,还有一个小bug需要您注意。<br> 在指定额外路径的方式上,本文采用的是:<br> export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH<br> 即采用export的方式引导编译器寻找指定路径,这种方式在系统重启后会失效,当您重启系统并启用Vim时,会出现如下提示信息:<br> <br> <br> 一种解决方法是在重启系统之前,用vim打开/etc/bashrc文件,修改其中的LD_LIBRARY_PATH环境变量:<br> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/<br>
但如果您此时已重启系统,可以采用另一种方式解决此问题,当程序执行函数动态链接库时,默认会在缺省目录‘/usr/local/lib’和‘/usr/lib’寻找。<br> 故只要找到libiconv.so.2所在的位置,并将其拷贝至这两个缺省目录下即可。<br>
转载于:https://my.oschina.net/jiangwave/blog/126484
Vim GDB 调试器编译配置说明相关推荐
- Linux系列学习(二) - Vim编辑器的介绍及使用、文件编译的过程、Makefile工具、Gdb调试器
目录 引言: 基本命令补充: cat命令: man命令: head命令: tail命令: find命令: grep命令: grep命令与管道"|" 的结合使用: ta ...
- Linux调试——gdb调试器的简单使用调试coredump文件
文章目录 一.背景 二.gdb的指令与使用 1.gdb的基本指令. 2.gdb指令的简单使用 1.进入gdb模式 2.实例说明 三.调试coredump文件 前提:本质上是在调试程序崩溃之后的内存镜像 ...
- GDB调试器使用手册
GDB调试器使用手册 使用GDB: 本文描述GDB,GNU的原代码调试器.(这是4.12版1994年一月,GDB版本4.16) * 目录: * 摘要: ...
- GCC编译器和GDB调试器常用选项
GCC编译器 gcc hello.c -o hello #将hello.c编译成hello可执行文件 gcc -E hello.c -o hello.i ...
- [转载].gdb调试器快速入门
调试在我们编写程序时占有重要的地位.在linux下如何使用gdb调试器?下面采用FQA的方式让你快速了解gdb调试器. 1.如何启动gdb调试器呢? 在终端输入 gdb 程序文件名 即可.注意gdb调 ...
- 【Linux学习】GDB调试器基本命令必知必会(一)
本文介绍Linux下GDB调试器常用的基本命令. 测试均在Ubuntu12.10下完成. 先看看GDB调试的效果图: 对应的源代码: //插入排序,GDB调试测试代码 #include <std ...
- linux卸载gdb命令,【Linux学习】GDB调试器基本命令必知必会(一)
本文介绍Linux下GDB调试器常用的基本命令. 测试均在Ubuntu12.10下完成. 先看看GDB调试的效果图: 对应的源代码: //插入排序,GDB调试测试代码 #include int x[1 ...
- 使用GDB调试器(一)
使用GDB调试器 GDB概要 ---- GDB是GNU开源组织公布的一个强大的UNIX下的程序调试工具.也许,各位比較喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但假设你是在UNIX平台下做 ...
- GDB调试器源代码分析系列--Inferior call的实现与分析(1)
[转] GDB调试器源代码分析系列--Inferior call的实现与分析(1) (2011-10-11 20:41) 标签: 分析 分类: 调试器 先说说几个概念: (1) 什么是infe ...
最新文章
- 2010年杭电计算机研究生复试---笔试编程
- linux下一个apache+tomcat负载均衡和集群
- Andrew Ng - 深度学习工程师 - Part 2. 改善深层神经网络:超参数调试、正则化以及优化(Week 1. 机器学习的实用层面)...
- 猿辅导python面试_猿辅导面试经历—个人感受
- LeetCode 915. 分割数组
- mysql 日志 设置 set_MySQL 慢查询日志的开启与配置
- 初学者python笔记(内置函数_1)
- 容器(Context)使用之支付系统
- centos安装中文支持(转)
- linux下怎么卸载mysql数据库_linux 怎么完全卸载mysql数据库
- Json转换成excel 离线版
- MIPI接口和DVP接口的区别及优点
- 什么是共模干扰和差模干扰,它们是怎么产生的
- 基于JavaSwing开发天猫购物商城系统(用户 管理员角色) 课程设计 毕业设计源码
- 计算机的音量打不开,电脑静音,音量打不开.怎么办?
- Python — 词汇表(一)
- 基于ABC人工蜂群优化算法的最优解搜索算法matlab仿真
- BG-sentry的安装和配置
- SD-WAN智慧消防解决方案
- ClickHouse快速入门
热门文章
- myeclipse堆栈溢出
- CSS的float和position
- 汉字字符内码查询_计算机等级考试查询系统
- html搜索框 模糊搜索,前端js模糊搜索(模糊查询)
- linux搭建简单聊天环境,快速搭建Linux环境-运维必备
- docker 启动容器的时候没-p 后面怎么加-p_基于Docker搭建基础自动化部署
- python bytes_Python每天必学之bytes字节
- python123平台在线编程_Python程序设计实验报告一:熟悉IDLE和在线编程平台
- TensorFlow实现条件批归一化(Conditional Batch Normalization)
- 深度残差网络(ResNet)详解与实现(tensorflow2.x)