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