Vscode,pudb远程调试服务器中的程序
Vscode遠(yuǎn)程調(diào)試服務(wù)器中的程序
VScode可以遠(yuǎn)程調(diào)試服務(wù)器中的代碼,應(yīng)該適合更多的人。
請(qǐng)參考:成功解決 vscode遠(yuǎn)程調(diào)試python
請(qǐng)注意第三步的時(shí)候,如果你的端口號(hào)不是默認(rèn)22,就需要重新設(shè)置,點(diǎn)擊下圖的齒輪,出現(xiàn)config文件。
然后增添Port <你的端口號(hào)> 就好了。Host 可以改成你的服務(wù)器的名字。
還有重要的一點(diǎn)上面的鏈接沒(méi)有指出來(lái),就是第五步之后要進(jìn)行代碼調(diào)試的話(huà),需要按照下圖設(shè)置:
也可參考:VS Code進(jìn)行Python遠(yuǎn)程調(diào)試
自己遇到的問(wèn)題:
pudb遠(yuǎn)程調(diào)試服務(wù)器中的程序
目錄
- Vscode遠(yuǎn)程調(diào)試服務(wù)器中的程序
- pudb遠(yuǎn)程調(diào)試服務(wù)器中的程序
- 前言
- 一、pudb能干什么?
- 1. 優(yōu)點(diǎn)
- 2. 缺點(diǎn)
- 二、建議什么樣的人使用pudb?
- 三、具體使用方法
- 1.安裝與使用
- 2. 偏好調(diào)整
- 3. 調(diào)試中會(huì)用到的操作
- 4. 可能遇到的問(wèn)題
- 總結(jié)
- 參考鏈接
前言
最近在寫(xiě)代碼,但是對(duì)于剛?cè)腴T(mén)不久的編程小白,服務(wù)器上的代碼不能調(diào)試真是太痛苦了。之前用過(guò)pycharm調(diào)試,但是因?yàn)橐O(shè)置環(huán)境,mapping什么的,運(yùn)行代碼一多,環(huán)境比較多的時(shí)候,總是出問(wèn)題,而且tensorflow出問(wèn)題更多。幸好在大佬的指點(diǎn)下,我知道了pudb能遠(yuǎn)程調(diào)試,而且它本身不需要下額外的軟件,只需要pip裝一個(gè)包就好,然后你就有一個(gè)類(lèi)似于matlab的調(diào)試界面了。
一、pudb能干什么?
pudb是全屏的基于控制臺(tái)的可視化調(diào)試器。
- 可設(shè)置斷點(diǎn),解決了服務(wù)器難以調(diào)試的問(wèn)題,和pycharm的本地調(diào)試斷點(diǎn)一樣。
- 基于鍵盤(pán),簡(jiǎn)單高效。為什么說(shuō)高效呢?因?yàn)樗С諺I的鼠標(biāo)移動(dòng)。
- 支持查找源代碼,可以使用m代用module browser查看載入的模塊。
- 可以進(jìn)入調(diào)用模塊的源代碼,適用于一些框架比較大,結(jié)構(gòu)比較復(fù)雜的代碼。
1. 優(yōu)點(diǎn)
- 不會(huì)遇到mapping之類(lèi)的問(wèn)題,只要相應(yīng)的環(huán)境配置好,就可以調(diào)試,比較穩(wěn)定
- 界面簡(jiǎn)單,滿(mǎn)足日常調(diào)試需求
2. 缺點(diǎn)
- 全程用鍵盤(pán)操作,一開(kāi)始會(huì)有點(diǎn)不太適應(yīng)
- 不能用鼠標(biāo),不能使用類(lèi)似于Ctrl+左鍵的模塊的索引方式
- 不能直接編輯代碼,可以配合pycharm之類(lèi)的工具編輯代碼。所以?xún)蓚€(gè)屏更方便。
二、建議什么樣的人使用pudb?
- 需要用服務(wù)器調(diào)試代碼
- python入門(mén)者
三、具體使用方法
準(zhǔn)備工作:使用pycharm把環(huán)境映射好,也就是setting里面設(shè)置好。并且點(diǎn)上自動(dòng)upload的選項(xiàng)。這樣pycahrm里改完之后,服務(wù)器更新了,Xshell這邊重新開(kāi)啟調(diào)試也會(huì)修改。
1.安裝與使用
安裝:pip install pudb
使用:python -m pudb.run main.py
或者 pudb main.py(這個(gè)我用了會(huì)有問(wèn)題)
2. 偏好調(diào)整
第一次使用的界面是這樣的:
嗯。。。看過(guò)都說(shuō)丑的界面。先把它換成我們熟悉的配色:點(diǎn)擊ctrl+p,然后光標(biāo)往下移,看到Theme,然后把光標(biāo)移到midnight,點(diǎn)enter。就換成我們熟悉的配色。再加上頁(yè)碼,在General部分,光標(biāo)移到show line numbers, 點(diǎn)enter。
配色換好之后我們?cè)賮?lái)看組成,由五個(gè)部分組成,代碼,命令行,變量模塊,運(yùn)行模塊,以及斷點(diǎn)模塊。對(duì)于日常調(diào)試這些就夠了,剩下的使用鍵盤(pán)操作就可以,鼠標(biāo)在這里就沒(méi)有什么作用啦。
3. 調(diào)試中會(huì)用到的操作
-
更換光標(biāo)所在模塊:利用鍵盤(pán)的上下左右鍵轉(zhuǎn)換光標(biāo)所在的模塊,從【代碼】-【命令行】使用ctrl+x進(jìn)行更換。或者大寫(xiě)模式下,按:V - 移到變量部分,S - 移到運(yùn)行模塊部分, B - 移到斷點(diǎn)部分, C - 移到代碼部分;
-
設(shè)置和刪除斷點(diǎn):將光標(biāo)放到所在行,按b,注意是小寫(xiě);再按一次b就刪除斷點(diǎn)了
-
編輯斷點(diǎn):聚焦到斷點(diǎn)部分,光標(biāo)放到要編輯的斷點(diǎn)處,按e
-
運(yùn)行到下一行:n
-
運(yùn)行到下一個(gè)斷點(diǎn)處:t
-
進(jìn)入調(diào)用的模塊的源代碼:s
-
運(yùn)行完當(dāng)前函數(shù)并跳出:r/f
-
查看變量:聚焦到變量部分,想看哪個(gè)變量,enter就行
-
進(jìn)入終端:o
-
跳出終端回到調(diào)試界面:enter
-
終止代碼:q
-
翻頁(yè):pagedown 和 pageup,或Ctrl+u/d
-
跳轉(zhuǎn)到首行/末行 g/G - start/end
-
跳到指定行 L
-
查找:/ ,之后按下進(jìn)入代碼部分,,/.分別進(jìn)行上一個(gè)/下一個(gè)查找
-
窗口分布調(diào)整:shift + -/+
這些就是我最近使用pudb調(diào)試經(jīng)常使用的操作。如果你有其他的需要,按shift+?就可以看到所有的指令。下面是其他博主翻譯的,可以作為參考:
Welcome to PuDB, the Python Urwid debugger. ------------------------------------------- (This help screen is scrollable. Hit Page Down to see more.) Keys: # 快捷鍵相關(guān)Ctrl-p - edit preferences # 編輯配置n - step over ("next") # 運(yùn)行到下一行 s - step into # 運(yùn)行進(jìn)函數(shù)c - continue # 繼續(xù)運(yùn)行r/f - finish current function # 結(jié)束當(dāng)前函數(shù)t - run to cursor # 運(yùn)行到光標(biāo)處e - show traceback [post-mortem or in exception state] # 顯示tracebackH - move to current line (bottom of stack) # 移動(dòng)到當(dāng)前行(棧底)u - move up one stack frame # 移動(dòng)到棧的上一行d - move down one stack frame # 移動(dòng)到棧的下一行o - show console/output screen # 顯示命令行屏幕(回車(chē)返回pudb)b - toggle breakpoint # 打斷點(diǎn)/取消斷點(diǎn)m - open module # 打開(kāi)python模塊j/k - up/down # 上/下Ctrl-u/d - page up/down # 上一頁(yè)/下一頁(yè)h/l - scroll left/right # 左滾動(dòng)/右滾動(dòng)g/G - start/end # 跳轉(zhuǎn)到首行/末行L - show (file/line) location / go to line # 跳到指定行/ - search # 查找,/. - search next/previous # 查找下一個(gè)/上一個(gè)V - focus variables # 聚焦在變量窗口S - focus stack # 聚焦在棧窗口B - focus breakpoint list # 聚焦在斷點(diǎn)列表窗口C - focus code # 聚焦在代碼窗口f1/?/H - show this help screen # 顯示幫助窗口q - quit # 退出Ctrl-c - when in continue mode, break back to PuDB # 當(dāng)處于連續(xù)模式時(shí),返回pudbCtrl-l - redraw screen # 重繪窗口Command line-related: # 命令行相關(guān)! - invoke configured python command line in current environment # 進(jìn)入命令行窗口Ctrl-x - toggle inline command line focus # 切換命令行窗口和代碼窗口+/- - grow/shrink inline command line (active in command line history) # 增長(zhǎng)/縮減命令行(命令行歷史下激活)_/= - minimize/maximize inline command line (active in command line history)# 最小化/最大化命令行(命令行歷史下激活)Ctrl-v - insert newline # 插入新行Ctrl-n/p - browse command line history # 瀏覽命令行歷史Tab - yes, there is (simple) tab completion # 快速補(bǔ)齊Sidebar-related (active in sidebar): # 工具欄相關(guān)(工具欄激活時(shí)有效)+/- - grow/shrink sidebar # 擴(kuò)大/縮減工具欄(指的是工具欄寬度)_/= - minimize/maximize sidebar # 最小化/最大化工具欄[/] - grow/shrink relative size of active sidebar box # 擴(kuò)大/縮減激活工具欄相對(duì)大小(指的是窗口高度)Keys in variables list: # 變量列表窗口的快捷鍵\ - expand/collapse # 展開(kāi)/收縮t/r/s/c - show type/repr/str/custom for this variable # 切換type/repr/str/customh - toggle highlighting # 切換高亮@ - toggle repetition at top # 切換頂部重復(fù)* - cycle attribute visibility: public/_private/__dunder__ # 屬性的循環(huán)可視化m - toggle method visibility # 切換方法的可見(jiàn)性w - toggle line wrapping # 切換換行n/insert - add new watch expression # 添加新的watch表達(dá)式enter - edit options (also to delete) # 編輯選項(xiàng)Keys in stack list: # 棧列表窗口的快捷鍵enter - jump to frame # 跳到某幀Keys in breakpoints view: # 斷點(diǎn)列表窗口的快捷鍵enter - edit breakpoint # 編輯斷點(diǎn)d - delete breakpoint # 刪除斷點(diǎn)e - enable/disable breakpoint # 啟用/禁用斷點(diǎn)4. 可能遇到的問(wèn)題
- q->restart之后代碼看起來(lái)更新了,但是有可能實(shí)際沒(méi)有更新。這時(shí)候需要q->quit才管用,不然沒(méi)有更新。這個(gè)問(wèn)題我遇到了很多次。
總結(jié)
本文介紹了如何使用pudb對(duì)服務(wù)器中的代碼進(jìn)行調(diào)試。它的優(yōu)點(diǎn)在于穩(wěn)定性和界面簡(jiǎn)潔,所以推薦大家使用。
參考鏈接
pudb使用指南
[筆記](méi)Python的調(diào)試器pudb簡(jiǎn)易教程
xshell+xftp破解版下載安裝以及使用教程
總結(jié)
以上是生活随笔為你收集整理的Vscode,pudb远程调试服务器中的程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 游戏术语英语
- 下一篇: 2013-9-7晚嵊泗旅游宾馆