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

Python調(diào)試有助于編程環(huán)境的完善

開發(fā) 后端
Python調(diào)試需要我們十分認(rèn)真的進(jìn)行。因?yàn)檫@是在組建之后最后的一道工序,能否順利的完成還是需要我們進(jìn)行相關(guān)的調(diào)試。

Python調(diào)試在很多的時(shí)候都需要我們?nèi)プ觯?dāng)然在使用的過程中會出現(xiàn)各種的狀況。下面我們就來詳細(xì)的看下如何進(jìn)行有關(guān)Python的環(huán)境調(diào)試。希望大家有所收獲。

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

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

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

 

  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的構(gòu)造參數(shù)傳入stdin/stdout的文件對象,調(diào)試過程的輸出輸入就自然以傳入的文件為方向了。這里需要兩個管道文件p_in、p_out,運(yùn)行腳本之前,使用命令mkfifo p_in p_out同時(shí)建立。這還未完成,還需要個外部程序來跟管道交互:

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

很簡單的bash。因?yàn)閒ifo管道在寫入端未傳入數(shù)據(jù)時(shí),讀取端是阻塞的(反之亦然),所以cat的顯示掛在后臺,當(dāng)調(diào)試的程序結(jié)束后,管道傳出EOF,cat就自動退出了。

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

【編輯推薦】

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

2024-04-11 11:36:26

數(shù)據(jù)中心公共云計(jì)算IT企業(yè)

2022-10-08 08:38:32

物聯(lián)網(wǎng)

2019-11-19 12:40:36

AI人工智能開源工具

2021-11-26 05:14:44

開源數(shù)據(jù)庫安全漏洞

2021-06-10 09:34:24

前端開發(fā)工具開發(fā)

2011-12-09 09:31:58

桌面虛擬化

2011-03-22 13:36:21

數(shù)據(jù)創(chuàng)建安全環(huán)境

2020-03-25 20:19:43

人工智能技術(shù)智能機(jī)器

2019-11-18 11:07:13

人工智能技術(shù)Apache

2021-08-13 10:33:55

IT經(jīng)理首席信息官CIO

2020-02-05 13:03:55

數(shù)據(jù)中心混合云技術(shù)

2013-07-17 09:19:23

2020-03-23 09:31:51

JavaScript函數(shù)技術(shù)

2017-04-14 10:40:43

SDS系統(tǒng)選擇

2023-06-09 19:03:35

開源組織

2019-08-12 07:39:25

數(shù)據(jù)中心IT開銷

2022-09-21 14:12:33

大數(shù)據(jù)醫(yī)療保健

2014-04-15 10:07:22

大數(shù)據(jù)

2018-10-25 14:14:52

云計(jì)算機(jī)器學(xué)習(xí)數(shù)據(jù)分析

2017-09-06 15:53:55

機(jī)器學(xué)習(xí)人工智能框架
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲一区二区三区在线视频 | 欧美1—12sexvideos | 国产精品一区二区三区在线 | 九九热这里只有精品6 | av网站在线看 | 在线成人精品视频 | 欧美欧美欧美 | 亚洲精品久久久久中文字幕欢迎你 | 国产91在线播放精品91 | 欧美日韩三级 | 草久久久| 91久久国产综合久久 | 久久久久久久国产精品 | 久草综合在线 | 成人小视频在线观看 | 欧美综合视频在线 | 亚洲在线免费 | 久久中文字幕电影 | 国产欧美日韩精品一区二区三区 | av电影一区 | 欧美一级欧美一级在线播放 | 超碰在线免费公开 | 综合国产| 精品国产一区二区三区免费 | 免费精品视频 | 福利精品 | 成人99| 国产超碰人人爽人人做人人爱 | 欧美亚洲国产一区二区三区 | 国产精品高清在线 | 亚洲国产精品成人综合久久久 | 亚洲成年人免费网站 | 99久久婷婷国产综合精品电影 | 国产一区二区在线免费观看 | 九九精品久久久 | 国产精品色 | 91精品国产91久久久久青草 | 男人的天堂一级片 | 久久亚洲国产 | 在线欧美视频 | 亚洲成人精品影院 |