在Centos7中使用vscode和gdb调试PG插件的方法
2022-09-15 16:09:46 来源:易采站长站 作者:
目录
安装vscodevscode中gdb调试调试动态库调试程序识别需要attach的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>
"/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中。
在调试,点击“创建>
"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插件内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!
暂时禁止评论













闽公网安备 35020302000061号