成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python調試有助于編程環境的完善

開發 后端
Python調試需要我們十分認真的進行。因為這是在組建之后最后的一道工序,能否順利的完成還是需要我們進行相關的調試。

Python調試在很多的時候都需要我們去做,當然在使用的過程中會出現各種的狀況。下面我們就來詳細的看下如何進行有關Python的環境調試。希望大家有所收獲。

據聞winpdb、Wing IDE的調試器能夠支持這樣的遠程調試,但似乎過于重量級(好吧前者比后者要輕多了,但一樣要wx Python調試的環境,再說pdb的靈活可靠它們難以比擬)。

其實只需稍作改動即可用pdb繼續Python調試子進程的代碼,思路來自這個博客:子進程的stdin/out/err關閉了,那可以自己重新按/dev/stdout的名稱打開來用。當然這指*nix下,win下要麻煩一些,后面再說。

pdb支持自定義輸出輸入的文件,我再稍作改動,使用fifo管道(Named Pipe)來完成pdb的輸出輸入的重定向,這樣的好處是,可以同時對父子進程調試!

 

  1. multiproces_debug.py  
  2. #!/usr/bin/python  
  3. import multiprocessing  
  4. import pdb  
  5. def child_process():  
  6. print "Child-Process"  
  7. pdb.Pdb(stdin=open('p_in', 'r+'), stdout=open('p_out', 
    'w+')).set_trace()  
  8. var = "debug me!" 
  9. def main_process():  
  10. print "Parent-Process"  
  11. p = multiprocessing.Process(target = child_process)  
  12. p.start()  
  13. pdb.set_trace()  
  14. var = "debug me!" 
  15. p.join()  
  16. if __name__ == "__main__":  
  17. main_process()  

 

只需要給pdb的構造參數傳入stdin/stdout的文件對象,調試過程的輸出輸入就自然以傳入的文件為方向了。這里需要兩個管道文件p_in、p_out,運行腳本之前,使用命令mkfifo p_in p_out同時建立。這還未完成,還需要個外部程序來跟管道交互:

  1. #!/bin/bash  
  2. cat p_out &  
  3. while [[ 1 ]]; do  
  4. read -e cmd  
  5. echo $cmd>p_in  
  6. done  

很簡單的bash。因為fifo管道在寫入端未傳入數據時,讀取端是阻塞的(反之亦然),所以cat的顯示掛在后臺,當調試的程序結束后,管道傳出EOF,cat就自動退出了。

實驗開始:先在一個終端運行debug_cmd.sh(其實順序無關),其光標停在新的一行,再在另外一個終端運行multiproces_debug.py,可見到兩個終端同時出現了(Pdb)的指示符,可以同時對父子進程調試了!以上就是對Python調試的相關介紹。

【編輯推薦】

  1. Python循環如何解決無限循環
  2. Python編程不同于其他編程語言的優點
  3. Python安裝配置的基本步驟詳解
  4. Python圖像處理的好處所在
  5. Python函數式和Ruby的相關技術比較
責任編輯:張浩 來源: IT168
相關推薦

2024-04-11 11:36:26

數據中心公共云計算IT企業

2022-10-08 08:38:32

物聯網

2021-06-10 09:34:24

前端開發工具開發

2011-12-09 09:31:58

桌面虛擬化

2019-11-19 12:40:36

AI人工智能開源工具

2021-11-26 05:14:44

開源數據庫安全漏洞

2011-03-22 13:36:21

數據創建安全環境

2020-03-25 20:19:43

人工智能技術智能機器

2020-03-23 09:31:51

JavaScript函數技術

2017-04-14 10:40:43

SDS系統選擇

2023-06-09 19:03:35

開源組織

2019-08-12 07:39:25

數據中心IT開銷

2019-11-18 11:07:13

人工智能技術Apache

2021-08-13 10:33:55

IT經理首席信息官CIO

2020-02-05 13:03:55

數據中心混合云技術

2013-07-17 09:19:23

2018-10-25 14:14:52

云計算機器學習數據分析

2017-09-06 15:53:55

機器學習人工智能框架

2010-06-11 22:20:27

2023-04-11 10:14:27

物聯網IOT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人久久一区 | 午夜在线视频 | 在线亚洲欧美 | 精品自拍视频在线观看 | av在线亚洲天堂 | 精品一区二区三区免费视频 | 999久久久 | 99精品在线观看 | 永久免费av | 欧美精品一区二区三区在线播放 | 国产精品久久久久久久久久三级 | 天天干天天玩天天操 | 成人毛片在线视频 | 日韩一区二区福利视频 | 免费视频一区二区 | 精品国产一区二区三区久久久蜜月 | 密室大逃脱第六季大神版在线观看 | 桃色五月 | 一级全黄少妇性色生活免费看 | 国产高清视频一区 | 久久精品免费 | 久久精品视频91 | 天天拍天天射 | 成人性视频在线 | 欧美激情精品久久久久久 | 久久久国产一区二区三区 | 久久久www成人免费无遮挡大片 | 中文字幕第一页在线 | 成人免费毛片片v | 一区二区三区不卡视频 | 在线播放国产一区二区三区 | 亚洲国产精品va在线看黑人 | 精品无码久久久久久国产 | 日韩1区 | 久久久妇女国产精品影视 | 人人干免费 | 国产成人叼嘿视频在线观看 | 精品婷婷 | a级大片免费观看 | 色婷婷久久久亚洲一区二区三区 | 国产成人短视频在线观看 |