最终效果如图
其实gdb自从8.3版本之后就已经默认支持了彩色显示,并且默认已经启用了,所以查看地址、文件名等符号时都是彩色的。但是!Ubuntu仓库中编译的gdb并没有启用代码高亮功能,运行help set style sources
他会告诉你it was not linked against GNU Source Highlight
,只有半吊子功能。
想要真正的高亮,还得自己编译。
下载g++、make、autoconf等编译工具,不需多言。
安装高亮支持库
sudo apt install libsource-highlight-dev
下载最新版的gdb .tar.xz源码http://ftp.gnu.org/gnu/gdb/并解压。
默认的
esc
高亮对黑色背景终端界面非常不友好,最好改成esc256
,具体做法是修改源码中的gdb/source-cache.c
文件,修改如下位置if (highlighter == nullptr)
{
- highlighter = new srchilite::SourceHighlight ("esc.outlang");
- highlighter->setStyleFile ("esc.style");
+ highlighter = new srchilite::SourceHighlight ("esc256.outlang");
+ highlighter->setStyleFile ("esc256.style");
}
std::istringstream input (contents);编译gdb并安装(假设安装到
/opt/gdb/
目录)cd <gdb源码目录>
mkdir build
cd build
../configure --prefix=/opt/gdb
make -j $(nproc)
sudo make install最终在
/opt/gdb/bin/
目录会输出gdb
和gdbserver
等可执行文件,运行这里的gdb,代码高亮便默认启用了。方便起见,可以将该目录添加到PATH环境变量。