在Centos7中使用vscode和gdb调试PG插件的方法

目录
  • 安装vscode
  • vscode中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 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插件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 如何使用VSCode 运行调试插件代码

    VSCode 运行插件,现在我们对这个插件的实现方式和注册方式已经有了了解,下面就到了运行和调试代码的时候了.VS Code 的插件代码脚手架已经为我们提供了 launch.json ,所以我们只需要按下 F5 即可启动代码. 代码启动后,VS Code 会打开一个新的窗口,这个窗口中就运行着我们本地书写的代码.此时我们打开命令面板,搜索 "Hello World" 并且执行. 上面我提到了,这个插件只有在 "Hello World" 命令被执行时才会被激活.那下面

  • VsCode使用EmmyLua插件调试Unity工程Lua代码的详细步骤

    目录 一.VSCode安装EmmyLua 二.添加配置文件 三.设置配置文件 四.添加Lua断点调试入口 五.运行unity测试断点功能 一.VSCode安装EmmyLua 二.添加配置文件 三.设置配置文件 执行完第二步会弹出添加好的launch.json配置文件,这个文件只需要修改“ideConnectDebugger” = false,其他一般不用修改. 四.添加Lua断点调试入口 luaEnv变量必须为全局唯一 路径标红的地方配上你的正确路径名 var path = "C:/Users/

  • 使用VScode 插件debugger for chrome 调试react源码的方法

    代码调试,是我们前端日常工作中不可或缺的能力了吧! 在面向dom开发的时代,我们开发时直接在chrome里打断点是很方便的. 但是,当我们面向组件开发时(react),浏览器拿到的是我们编译过后的代码,还想在浏览器里打断点几乎是不可能的了. 场景 那怎么办,方法总是比困难多!愚蠢的我想到了console/debugger!!一直在使用,虽然很不方便(打印太多实在太乱!上线还要配置删除掉),但是我竟然使用了很久(这真是一个糟糕的编码习惯吧).直到今天,我想研究一下react源码,需要断点的地方有很

  • 在Centos7中使用vscode和gdb调试PG插件的方法

    目录 安装vscode vscode中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\n

  • vsCode安装使用教程和插件安装方法

    vsCode安装使用教程vsCode是什么vsCode安装vsCode汉化vsCode常用命令说明vsCode左边图标说明vsCode基本使用前端常用插件在vosCode中显示html界面 vsCode是什么 Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮.智能代码补全.自定义热键.括号匹配.代码片段.代码对比 Diff.GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化.软

  • CentOS7中MariaDB修改datadir后无法启动的解决方法

    发现问题 最近想把服务器的CentOS 6.8升级上CentOS7.但是失败了,重装了系统,重装以后挂载好数据盘后发现MariaDB起不来了,查journal log,只有一行warning can't create test file /var/lib/mysql/core.lower-test 解决方法 在网上查了一下,有两种方案 第一是说selinux导致的,但是ucloud的镜像默认就是关闭selinux的,所以不是这个问题 第二说是apparmor限制了进程的目录读写,但是那是Ubun

  • 关于Centos7中Vscode无响应的问题及解决方法

    版本信息 虚拟机版本:VMware® Workstation 16 Pro 16.1.2 build-17966106 Linux系统:CentOS7 问题描述 在CentOS7中使用命令行直接安装Vscode时,打开Vscode出现界面卡死.无响应情况 问题原因 在安装Vscode时,系统默认安装和官网下载的Vscode版本,都是最新版本的Vscode,图为笔者安装时的最新版本:1.58,由于CentOS7与Vscode的新版本不兼容,导致Vscode无法使用. 解决方案 步骤一:卸载新版本的

  • vscode C++远程调试运行(学习C++用)

    目标: 连接远程主机 (ssh) 配置C++编译环境 (输出结果后删除二进制文件) 步骤: 安装Remote SSH,连接远程主机 Visual Studio 官方文档 https://code.visualstudio.com/docs/remote/ssh 图标 2. 配置C++编译运行环境 主要参考下面两篇文档 https://code.visualstudio.com/docs/cpp/config-wsl https://code.visualstudio.com/docs/edito

  • 解决VScode配置远程调试Linux程序的问题

    下面看下VScode远程调试Linux程序的问题,具体内容如下,一起看看吧! 最近在Linux上调程序,但是gdb使用属于入门阶段,主要是没有图形化界面直观.在网上查找了有两个方案可选,一个是通过VisualStudio2019的远程调试功能,因为最近一直在用VScode,所以没有试,之后有时间了可以试一下.另一个方案就是通过VScode的Remote Development插件(微软官方提供的)进行远程调试.本文介绍下这个方案. 虽然网上也有其他的文章进行介绍,但是都是写的成功的情况,没有写出

  • 如何使用GDB调试PHP程序

    一般来说,GDB主要完成下面四个方面的功能: (1)启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. (2)可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条件表达式) (3)当程序被停住时,可以检查此时你的程序中所发生的事. (4)动态的改变你程序的执行环境. 1.简介 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.同时GDB也具有例如ddd这样的图形化

  • Linux中使用VS Code编译调试C++项目详解

    前言 关于VS Code在Linux下的安装这里就不提了,不管是CentOS还是Ubuntu,如果不懂且搜问题足够的情况下,你会解决的. 一.前置知识--gcc/g++的编译链接过程 在Windows下,如果你用Visual Studio进行开发,C/C++的编译器一般采用微软提供的MSBuild:在Linux下C/C++的编译器大多采用gcc/g++.既然要在Linux下进行C++开发,很有必要了解一下g++编译器的一些基本知识. 假设我现在有一个最简单的C++文件: #include <io

  • VSCode下配置python调试运行环境的方法

    VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在用户设置里加两条 * 5.接下来是正式的调试了 1080 两个数的平方和 Input Output Input示例 Output示例 1.下载python解释器 python 3.6.3 for windows 安装到系统某个路径例如C:\Python36 最好添加到Path,也可以不加 2.在VS

  • Angular2使用vscode断点调试ts文件的方法

    VSCode自带debugger工具,管理后台项目使用angular2,试了下调试ts文件十分方便.下面是具体的实现步骤以及踩的坑.当你调试出来后,回头看这个设置还是十分简单的.我使用的是ng-cli创建的项目.后面再补充一般项目的调试,感觉也差不多. 解决了 "由于未找到生成的代码,已忽略断点(是否是源映射问题?) " ,参考下面的 我的环境配置 我的环境配置 1. node v7.3.0 2. npm 3.10.10 3. ng >= 1.3 // 这一点非常重要,我一开始的

随机推荐