Python - 調試Python代碼的方法

?調試(debug)

  • 將可疑環節的變量逐步打印出來,從而檢查哪里是否有錯。
  • 讓程序一部分一部分地運行起來。從核心功能開始,寫一點,運行一點,再修改一點。
  • 利用工具,例如一些IDE中的調試功能,提高調試效率。

Python CMD

python -m trace -t <py file>
python -m dis  <py file>
  • 內置trace模塊:打印所有執行的語句
  • 內置dis模塊:分析字節碼

Linux?

strace -p pid      # 用系統命令跟蹤系統調用

?

PyCharm Debug

  • https://www.jetbrains.com/help/pycharm/quick-start-guide.html
  • http://www.jetbrains.com/help/pycharm/debugging-code.html
  • 代碼的調試、運行?https://blog.csdn.net/u013088062/article/details/50130991
  • Pycharm調試器總篇 ?https://blog.csdn.net/u013088062/article/details/50214459
  • Pycharm調試器之斷點篇 ?https://blog.csdn.net/u013088062/article/details/50216015

PySnooper

“貧民版”Python調試工具:https://github.com/cool-RR/PySnooper
- 允許執行以上相同的操作,只需為要調試的函數添加一個裝飾器即可,而不需要構建正確的 print 打印。
- 將得到函數的詳細日志,包括運行了哪些代碼行、何時運行以及何時更改了局部變量。
- 使用簡單,可以在任何龐大的代碼庫中使用,而無需進行任何設置。只需添加裝飾器,并為日志輸出地址指定路徑,方法是將其路徑指定為第一個參數。

參考信息

  • 常用的Python調試工具:http://blog.jobbole.com/51062/
  • Python 程序如何高效地調試?:https://www.zhihu.com/question/21572891
  • Python 代碼調試技巧:https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/
  • python調試:http://www.cnblogs.com/frchen/p/5752763.html

轉載于:https://www.cnblogs.com/anliven/p/9998722.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/389135.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389135.shtml
英文地址,請注明出處:http://en.pswp.cn/news/389135.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計組合中的10個嚴重錯誤可能會導致您喪命

As an agency co-founder and design lead, I’ve been participating in many recruitment processes. I’ve seen hundreds of portfolios and CVs of aspiring designers. If you’re applying for a UI designer position, it is good to have some things in mind and to …

netflix_Netflix的計算因果推論

netflixJeffrey Wong, Colin McFarland杰弗里黃 &#xff0c; 科林麥克法蘭 Every Netflix data scientist, whether their background is from biology, psychology, physics, economics, math, statistics, or biostatistics, has made meaningful contributions to the way…

算法題庫網站

Google Code Jam&#xff08;GCJ&#xff09;Peking University Online Judge&#xff08;POJ&#xff09;CodeForces&#xff08;CF&#xff09;LeetCode&#xff08;LC&#xff09;Aizu Online Judge&#xff08;AOJ&#xff09;

org.dom4j.DocumentException: null Nested exception: null解決方法

由于最近在學習使用Spring架構&#xff0c;經常會遇到與xml文檔打交道&#xff0c;今天遇到了此問題&#xff0c;特來分享一下解決方案。 出錯原因&#xff1a; 很明顯是因為找不到文件路徑。這個原因是因為我使用了*.clas.getResourceAsStream&#xff08;xmlFilePath&#xf…

MySQL命令學習

上面兩篇博客講了MySQL的安裝、登錄&#xff0c;密碼重置&#xff0c;為接下來的MySQL命令學習做好了準備&#xff0c;現在開啟MySQL命令學習之旅吧。 首先打開CMD&#xff0c;輸入命令&#xff1a;mysql -u root -p 登錄MySQL。 注意&#xff1a;MySQL命令終止符為分號 (;) …

實驗心得_大腸桿菌原核表達實驗心得(上篇)

大腸桿菌原核表達實驗心得&#xff08;上篇&#xff09;對于大腸桿菌蛋白表達&#xff0c;大部分小伙伴都覺得 so easy! 做大腸桿菌蛋白表達十幾年經歷的老司機還經常陰溝翻船&#xff0c;被大腸桿菌表達蛋白虐千百遍的慘痛經歷&#xff0c;很多小伙伴都有切膚之痛。福因德接下…

scrapy從安裝到爬取煎蛋網圖片

下載地址&#xff1a;https://www.lfd.uci.edu/~gohlke/pythonlibs/pip install wheelpip install lxmlpip install pyopensslpip install Twistedpip install pywin32pip install scrapy scrapy startproject jandan 創建項目cd jandancd jandan items.py 存放數據pipelines.p…

高斯金字塔 拉普拉斯金字塔_金字塔學入門指南

高斯金字塔 拉普拉斯金字塔The topic for today is on data validation and settings management using Python type hinting. We are going to use a Python package called pydantic which enforces type hints at runtime. It provides user-friendly errors, allowing you …

基本排序算法

插入排序 基本思想&#xff1a;把待排序列表分為已排和未排序兩部分&#xff0c;從未排序左邊取值&#xff0c;按順序從已排序的右端開始對比插入到相應的位置。 java代碼實現 private void insertSort(int[] arr){int i, j;int temp;for(i 0; i < arr.length; i){temp …

自定義版本更新彈窗

目錄介紹 1.Animation和Animator區別 2.Animation運行原理和源碼分析 2.1 基本屬性介紹2.2 如何計算動畫數據2.3 什么是動畫更新函數2.4 動畫數據如何存儲2.5 Animation的調用 3.Animator運行原理和源碼分析 3.1 屬性動畫的基本屬性3.2 屬性動畫新的概念3.3 PropertyValuesHold…

《SQL Server 2008從入門到精通》--20180716

1.鎖 當多個用戶同時對同一個數據進行修改時會產生并發問題&#xff0c;使用事務就可以解決這個問題。但是為了防止其他用戶修改另一個還沒完成的事務中的數據&#xff0c;就需要在事務中用到鎖。 SQL Server 2008提供了多種鎖模式&#xff1a;排他鎖&#xff0c;共享鎖&#x…

googleearthpro打開沒有地球_嫦娥五號成功著陸地球!為何嫦娥五號返回時會燃燒,升空卻不會?...

目前&#xff0c;嫦娥五號已經帶著月壤成功降落到地球上&#xff0c;創造了中國航天的又一里程碑。嫦娥五號這一路走來&#xff0c;困難重重&#xff0c;但都被我國航天科技人員逐一克服&#xff0c;最終圓滿地完成了嫦娥五號的月球采樣返回地球任務。嫦娥五號最后這一步走得可…

語言認知偏差_我們的認知偏差正在破壞患者的結果數據

語言認知偏差How do we know if we are providing high-quality care? The answer to this question is sought by a multitude of parties: patients, clinicians, educators, legislators, and insurance companies. Unfortunately, it’s not easy to determine. There is …

android 打包相關問題記錄

Android 中的打包配置在build.gradle文件中&#xff0c;下面對該文件的內容做一下記錄。 buildscript {repositories {jcenter()}dependencies {classpath com.android.tools.build:gradle:2.2.0} } 這里生命了倉庫的位置&#xff0c;依賴gradle的版本。 android{} android {…

本文將引導你使用XNA Game Studio Express一步一步地創建一個簡單的游戲

本文將引導你使用XNA Game Studio Express一步一步地創建一個簡單的游戲 第1步: 安裝軟件 第2步: 創建新項目 第3步: 查看代碼 第4步: 加入一個精靈 第5步: 使精靈可以移動和彈跳 第6步: 繼續嘗試! 完整的實例 第1步: 安裝軟件在動手之前,先確定你已經安裝了所需的軟件,其中包…

C#中實現對象的深拷貝

深度拷貝指的是將一個引用類型&#xff08;包含該類型里的引用類型&#xff09;拷貝一份(在內存中完完全全是兩個對象&#xff0c;沒有任何引用關系)..........  直接上代碼&#xff1a; 1 /// <summary>2 /// 對象的深度拷貝&#xff08;序列化的方式&#xf…

Okhttp 源碼解析

HTTP及okhttp的優勢 http結構 請求頭 列表內容表明本次請求的客戶端本次請求的cookie本次請求希望返回的數據類型本次請求是否采用數據壓縮等等一系列設置 請求體 指定本次請求所使用的方法請求所使用的方法 響應頭 - 服務器標識 - 狀態碼 - 內容編碼 - cookie 返回給客…

python中定義數據結構_Python中的數據結構。

python中定義數據結構I remembered the day when I made up my mind to learn python then the very first things I learned about data types and data structures. So in this article, I would like to discuss different data structures in python.我記得當初下定決心學習…

python實訓英文_GitHub - MiracleYoung/You-are-Pythonista: 匯聚【Python應用】【Python實訓】【Python技術分享】等等...

You-are-Pythonista匯聚【從零單排】【實戰項目】【數據科學】【自然語言處理】【計算機視覺】【面試題系列】【大航海】【Python應用】【錯題集】【技術沙龍】【內推渠道】等等【人人都是Pythonista】由公眾號【Python專欄】推出&#xff0c;請認準唯一標識&#xff1a;請仔細…

java電子商務系統源碼 Spring MVC+mybatis+spring cloud+spring boot+spring security

鴻鵠云商大型企業分布式互聯網電子商務平臺&#xff0c;推出PC微信APP云服務的云商平臺系統&#xff0c;其中包括B2B、B2C、C2C、O2O、新零售、直播電商等子平臺。 分布式、微服務、云架構電子商務平臺 java b2b2c o2o 技術解決方案 開發語言&#xff1a; java、j2ee 數據庫&am…