dbg-macro
源代码地址:dbg-macro dbg-macro是一个轻量级c++编写的c++代码调试器。使用起来特别方便,只需包含一个头文件即可。
特点
- 易读,彩色输出。当输出不是一个交互式终端时色彩会被隐藏。
- 可以打印文件名、行数、函数名以及原始表达式。
- 为输出值增加了类型信息。(可以看到输出变量是什么类型)
- 为容器、指针、字符串、枚举、STL设置专门的输出样式。
- 支持C++11、C++14、C++17。
- 可以使用在表达式内视。
- 当包含dbg.h时,会有一个编译器警告问题。(别忘了移除)
安装
git clone https://github.com/sharkdp/dbg-macro
sudo ln -s $(readlink -f dbg-macro/dbg.h) /usr/include/dbg.h
如何编译dbg-macro源码
git submodule update --init
mkdir build
cd build
cmake .. -DCMAKE_CXX_STANDARD=17
make
运行测试
进入根目录中的tests文件夹,里面包含一些测试代码 这里我们使用demo.cpp进行测试。首先编译一下代码。
g++ -o demo demo.cpp
这个警告就是 “特点” 中提到的警告。 运行。
./demo
输出正常说明安装成功。
如何去掉上面提到的警告
办法一
这个办法是我自己想的,实现起来比较麻烦,不推荐使用。 编辑根目录的dbg.h代码,在第36行之后加入代码
#ifndef DBG_MACRO_NO_WARNING
#define DBG_MACRO_NO_WARNING
#endif
保存退出。 切换到build文件夹
cd build
make
编译好之后,重新编译代码,警告就会消失。
办法二
在编译源代码文件文件时候,加上flag:DBG_MACRO_NO_WARNING 具体实现:
g++ -o demo demo.cpp -DDBG_MACRO_NO_WARNING
这个办法实现比较简单,但是每次编译都要加。当然你也可以编写makefile文件,就没有这个麻烦了。
修改dbg.h源代码后重新链接到/usr/include
写了一个脚本relink_dbgmacro.sh
#!/bin/bash
sudo rm -f /usr/include/dbg.h
sudo ln -s $(readlink -f ./dbg.h) /usr/include/dbg.h
赋予权限
sudo chmod 777 relink_dbgmacro.sh
将这个脚本放在dbg-macro目录下,然后执行。执行完毕后就更新了dbg.h链接。
未完待续。。。
|