这篇文章主要介绍了在Centos7中使用vscode和gdb调试PG插件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
安装vscode
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
yum check-update
sudo yum install code
给vscode安装扩展
C/C++
C/C++ Extension Pack
vscode中gdb调试
打开文件夹(默认创建工作区隐藏文件夹)
打开C/C++文件,光标放在文件内
按F1,输入C/C++,选择C/C++:Edit configuration,生成c_cpp_properties.json配置文件。一般来说不需要更改,若想更好的智能提示,可以在includePath里添加新的目录。例如
"/home/postgres/pgcode/postgres-REL_14_2/src/include",
"/home/postgres/pgcode/postgres-REL_14_2/src/include/portability",
"/home/postgres/pgcode/postgres-REL_14_2/src/interfaces/libpq"
调试动态库
在本机上调试PG插件citus,citus的源码放在PG源码的contrib中。
在调试,点击“创建 launch.json”,右下角点击“添加配置”,在弹出的窗口选择“C/C++ :(gdb)附加”。
"program": "/home/postgres/pgREL1402/bin/postgres"
调试程序
例如调试pg_dump。
假如在命令行里我们输入如下命令
pg_dump "host=192.168.0.109 port=15431 user=tua password=123 dbname=testddl" -s -t tm
在调试里需要等价成
"program": "/home/postgres/pgREL1402/bin/pg_dump",
"args": ["host=192.168.0.109 port=15431 user=tua password=123 dbname=testddl","-s","-t","tm"],
最后点击“开始调试”或者F5进入调试。
识别需要attach的PG进程
在psql命令行里执行东西后,怎样调试呢?需要将gdb附加到对应psql的PG后台进程。可以通过下面语句找出来。
SELECT procpid, start, now() - start AS lap, current_query
FROM (SELECT backendid,
pg_stat_get_backend_pid(S.backendid) AS procpid,
pg_stat_get_backend_activity_start(S.backendid) AS start,
pg_stat_get_backend_activity(S.backendid) AS current_query
FROM
(SELECT pg_stat_get_backend_idset() AS backendid) AS S
) AS S WHERE current_query <> '<IDLE>' ORDER BY lap DESC;
到此这篇关于在Centos7中使用vscode和gdb调试PG插件的文章就介绍到这了,更多相关vscode和gdb调试PG插件内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:在Centos7中使用vscode和gdb调试PG插件的方法


基础教程推荐
- C++实现ETW进行进程变动监控详解 2023-05-15
- 带你深度走入C语言取整以及4种函数 2022-09-17
- C++实战之二进制数据处理与封装 2023-05-29
- [c语言-函数]不定量参数 2023-09-08
- C语言实现宾馆管理系统课程设计 2023-03-13
- centos 7 vscode cmake 编译c++工程 2023-09-17
- 全面了解C语言 static 关键字 2023-03-26
- C语言 详解字符串基础 2023-03-27
- [C语言]二叉搜索树 2023-09-07
- C语言编程C++旋转字符操作串示例详解 2022-11-20