Python脚本的内部各函数间的调用关系

介绍

这篇文章主要讲解了“Python脚本的内部各函数间的调用关系”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python脚本的内部各函数间的调用关系”吧!

正如大家所,Python内部堆栈和函数的调用由PyEval_EvalFrameEx完成的,一次PyEval_EvalFrameEx意味着一次函数调用,象上面的第19日13日10行分别对应于主,segv_test,自由节点函数,将gdb定位到对应行后,使用pylocals宏即可查看该函数内部变量的详细情况。

  <李> 

(gdb), up  13,

<李>

# 13, 0 x007d6d2b 拷贝PyEval_EvalFrameEx 
(f=0 x81242fc, throwflag=0), at  Python/ceval。c: 2370,

<李>

2370, Python/ceval拷贝。李c,

<李>

(gdb), pylocals,

<李>

s:,

<李>

object :,
& # 39; & lt; html> & lt; body> & lt; div> & lt; a> & lt; a> & lt;/a> & lt;/a> & lt; a> & lt;/a> & lt;/div> & lt;/body> & lt;/html> & # 39; 

  • type : str  

  • refcount: 3  

  • address : 0xb7f64440  

  • options:  

  • object : 97  

  • type : int  

  • refcount: 7  

  • address : 0x8082c20  

  • doc:  

  • object :  

  • type : instance  

  • refcount: 1  

  • address : 0xb7cc04ec  

  • ctxt:  

  • object :  

  • type : instance  

  • refcount: 1  

  • address : 0xb7f70ccc  

  • nodes:  

  • object : []  

  • type : list  

  • refcount: 2  

  • address : 0xb7f70a8c  

  • note:  

  • object :  

  • type : instance  

  • refcount: 2  

  • address : 0xb7cc0cac  

  • nexts:  

  • object : [,
     
    ]  

  • type : list  

  • refcount: 1  

  • address : 0xb7f4ce4c  

  • Python脚本调试时断点的设置是个很麻烦的东西,我所能想到的有两种方法:

    1 根据函数的python源码进行断点设置;

    2 采用sleep函数和ctrl+c来中断程序的运行。

    感谢各位的阅读,以上就是“Python脚本的内部各函数间的调用关系”的内容了,经过本文的学习后,相信大家对Python脚本的内部各函数间的调用关系这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

    Python脚本的内部各函数间的调用关系