在Centos7中使用vscode和gdb調(diào)試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安裝擴(kuò)展
C/C++
C/C++ Extension Pack
vscode中g(shù)db調(diào)試
打開(kāi)文件夾(默認(rèn)創(chuàng)建工作區(qū)隱藏文件夾)
打開(kāi)C/C++文件,光標(biāo)放在文件內(nèi)
按F1,輸入C/C++,選擇C/C++:Edit configuration,生成c_cpp_properties.json配置文件。一般來(lái)說(shuō)不需要更改,若想更好的智能提示,可以在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"
調(diào)試動(dòng)態(tài)庫(kù)
在本機(jī)上調(diào)試PG插件citus,citus的源碼放在PG源碼的contrib中。
在調(diào)試,點(diǎn)擊“創(chuàng)建 launch.json”,右下角點(diǎn)擊“添加配置”,在彈出的窗口選擇“C/C++ :(gdb)附加”。
"program": "/home/postgres/pgREL1402/bin/postgres"
調(diào)試程序
例如調(diào)試pg_dump。
假如在命令行里我們輸入如下命令
pg_dump "host=192.168.0.109 port=15431 user=tua password=123 dbname=testddl" -s -t tm
在調(diào)試?yán)镄枰葍r(jià)成
"program": "/home/postgres/pgREL1402/bin/pg_dump", "args": ["host=192.168.0.109 port=15431 user=tua password=123 dbname=testddl","-s","-t","tm"],
最后點(diǎn)擊“開(kāi)始調(diào)試”或者F5進(jìn)入調(diào)試。
識(shí)別需要attach的PG進(jìn)程
在psql命令行里執(zhí)行東西后,怎樣調(diào)試呢?需要將gdb附加到對(duì)應(yīng)psql的PG后臺(tái)進(jìn)程。可以通過(guò)下面語(yǔ)句找出來(lái)。
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;到此這篇關(guān)于在Centos7中使用vscode和gdb調(diào)試PG插件的文章就介紹到這了,更多相關(guān)vscode和gdb調(diào)試PG插件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c++使用Easyx圖形庫(kù)實(shí)現(xiàn)飛機(jī)大戰(zhàn)
本文詳細(xì)講解了c++使用Easyx圖形庫(kù)實(shí)現(xiàn)飛機(jī)大戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
C++中sort()函數(shù)和priority_queue容器中比較函數(shù)的區(qū)別詳析
C++中sort()和priority_queue都能自定義比較函數(shù),其中sort()自定義的比較函數(shù)比較好理解,priority_queue中自定義的比較函數(shù)的效果和sort()是相反的,這篇文章主要給大家介紹了關(guān)于C++中sort()函數(shù)和priority_queue容器中比較函數(shù)的區(qū)別的相關(guān)資料,需要的朋友可以參考下2023-03-03
求32位機(jī)器上unsigned int的最大值及int的最大值的解決方法
本篇文章是對(duì)求32位機(jī)器上unsigned int的最大值及int的最大值的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C語(yǔ)言獲取數(shù)組長(zhǎng)度的幾種方法
這篇文章主要介紹了C語(yǔ)言獲取數(shù)組長(zhǎng)度的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
詳解基于C++實(shí)現(xiàn)約瑟夫環(huán)問(wèn)題的三種解法
約瑟夫環(huán)問(wèn)題是算法中相當(dāng)經(jīng)典的一個(gè)問(wèn)題,其問(wèn)題理解是相當(dāng)容易的,并且問(wèn)題描述有非常多的版本,并且約瑟夫環(huán)問(wèn)題還有很多變形,通過(guò)這篇約瑟夫問(wèn)題的講解,一定可以帶你理解透徹2021-06-06
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之單鏈表存儲(chǔ)詳解
鏈表是一種物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的指針鏈接次序?qū)崿F(xiàn)的。本文將和大家一起聊聊C語(yǔ)言中單鏈表的存儲(chǔ),感興趣的可以學(xué)習(xí)一下2022-07-07

