自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python腳本的內(nèi)部各函數(shù)之間的調(diào)用關(guān)系

開發(fā) 后端
你想了解Python腳本的內(nèi)部各函數(shù)之間的調(diào)用的實(shí)際應(yīng)用的話,你就可以瀏覽以下的文章,對(duì)Python腳本的內(nèi)部各函數(shù)之間時(shí)如何調(diào)用有所了解。

通過堆棧我們可以很清楚的看到關(guān)于Python腳本的內(nèi)部各函數(shù)之間的調(diào)用關(guān)系, 那么以下的文章主要是介紹我們?cè)趺床榭聪嚓P(guān)函數(shù)的內(nèi)變量情況,希望你在看完這篇文章會(huì)有所收獲。

正如大家所, python內(nèi)部堆棧和函數(shù)的調(diào)用由PyEval_EvalFrameEx完成的, 一次PyEval_EvalFrameEx意味著一次函數(shù)調(diào)用,象上面的第19,13,10行分別對(duì)應(yīng)于main, segv_test, freeNode函數(shù), 將gdb定位到對(duì)應(yīng)行后,使用pylocals宏即可查看該函數(shù)內(nèi)部變量的詳細(xì)情況。

  1. (gdb) up 13  
  2. #13 0x007d6d2b in PyEval_EvalFrameEx 
    (
    f=0x81242fcthrowflag=0) at Python/ceval.c:2370  
  3. 2370 in Python/ceval.c  
  4. (gdb) pylocals  
  5. s:  
  6. object : 
    '
    <html><body><div><a><a></a></a><a></a></div></body></html>'  
  7. type : str  
  8. refcount: 3  
  9. address : 0xb7f64440  
  10. options:  
  11. object : 97  
  12. type : int  
  13. refcount: 7  
  14. address : 0x8082c20  
  15. doc:  
  16. object : <xmlDoc (None) object at 0xb7cc04ec> 
  17. type : instance  
  18. refcount: 1  
  19. address : 0xb7cc04ec  
  20. ctxt:  
  21. object : <libxml2.xpathContext instance at 0xb7f70ccc> 
  22. type : instance  
  23. refcount: 1  
  24. address : 0xb7f70ccc  
  25. nodes:  
  26. object : [<xmlNode ((儓X? object at 0xb7cc0cac>]  
  27. type : list  
  28. refcount: 2  
  29. address : 0xb7f70a8c  
  30. note:  
  31. object : <xmlNode ((?圶? object at 0xb7cc0cac> 
  32. type : instance  
  33. refcount: 2  
  34. address : 0xb7cc0cac  
  35. nexts:  
  36. object : [<xmlNode (hhX? object at 0xb7cc750c>,
     
    <xmlNode (HXX? object at 0xb7cc76cc>
    <xmlNode (@XX? object at 0xb7c9348c>]  
  37. type : list  
  38. refcount: 1  
  39. address : 0xb7f4ce4c  

Python腳本調(diào)試時(shí)斷點(diǎn)的設(shè)置是個(gè)很麻煩的東西,我所能想到的有兩種方法:

1 根據(jù)函數(shù)的python源碼進(jìn)行斷點(diǎn)設(shè)置;

2 采用sleep函數(shù)和ctrl+c來中斷程序的運(yùn)行。

無論怎么樣使用逐條執(zhí)行進(jìn)行調(diào)試都是很痛苦的事情,因?yàn)檫@個(gè)時(shí)候python解釋器本身要做很多工作。 由于本身對(duì)于python源碼不是很熟悉,因此對(duì)如何使用gdb對(duì)python腳本調(diào)試上也只是很粗略的理解, 這里權(quán)當(dāng)拋磚引玉, 歡迎達(dá)人們給出分享的經(jīng)驗(yàn)。以上就是對(duì)Python腳本內(nèi)部各函數(shù)的調(diào)用關(guān)系, 以及如何查看函數(shù)內(nèi)變量情況相關(guān)的內(nèi)容的介紹,望你會(huì)有所收獲。

【編輯推薦】

  1. 搭建Python Web環(huán)境所需要的相關(guān)步驟介紹
  2. 用Python生成不依賴dll的exe的操作步驟簡(jiǎn)介
  3. Python標(biāo)準(zhǔn)庫的強(qiáng)大功能的相關(guān)介紹
  4. Python腳本與C++程序互相調(diào)用的實(shí)際操作
  5. Python嵌入c中時(shí)應(yīng)該鏈接的庫有哪些
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2025-01-02 12:59:55

Python面向?qū)ο缶幊?/a>type

2012-09-20 10:30:07

Linuxtty框架uart框架

2023-11-23 19:30:35

Python編程語言

2009-06-25 14:46:50

JDKJREJVM

2020-11-02 08:15:00

Python數(shù)據(jù)開發(fā)

2010-02-04 17:16:33

C++調(diào)用python

2023-10-27 08:52:03

Python腳本關(guān)系

2021-06-11 06:54:34

原型構(gòu)造函數(shù)

2012-05-31 14:54:59

Hadoop大數(shù)據(jù)

2010-08-03 16:21:54

FlexFlash

2015-03-09 11:01:43

2020-05-12 16:58:05

LinuxUnix技術(shù)

2009-06-22 16:34:30

框架架構(gòu)設(shè)計(jì)模式

2021-07-13 19:33:41

大數(shù)據(jù)云計(jì)算

2009-01-19 13:35:57

ETLEAI數(shù)據(jù)倉庫

2023-10-26 11:37:35

函數(shù)Python

2009-07-06 15:47:11

Servlet API

2010-07-13 10:13:35

Perl內(nèi)部函數(shù)

2010-06-12 16:47:11

網(wǎng)絡(luò)層次協(xié)議

2011-02-23 14:38:45

網(wǎng)絡(luò)協(xié)議
點(diǎn)贊
收藏

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