python pdb命令,python怎么输出pdb文件
1.启动pdb。
当前帧绑定跟踪函数trace_dispatch。
deftrace_dispatch(self,frame,event,arg):
ifself.quitting:
返回#无
ifevent==line:
returnself.dispatch_line(帧)
ifevent==呼叫 :
returnself.dispatch_call(帧,参数)
ifevent==return:
returnself.dispatch_return(帧,参数)
ifevent==exception:
.2.每个帧中不同事件的处理将通过中断控制逻辑。
主要函数是stop _ here(line事件也经过break_here),决定代码是否中断,需要中断哪一行。
如果需要中断,触发子类方法user_#event。
一个子类可以通过交互更新堆栈帧信息,在控制台上打印相应的信息,然后执行cmdloop,使控制台等待交互输入。
定义交互(自身、框架、回溯):
Self.setup(frame,traceback)#当前堆栈,帧,局部变量
self . print _ stack _ entry(self . stack[self . curindex])
self.cmdloop()
Self.forge () 3。用户输入调试命令。
比如next返回汽车时,他们会先调用set_#命令设置stopframe、returnframe和stoplineno,这些命令会影响中断控制的逻辑,从而决定运行到下一帧的中断结果。
4.调试过程控制类的命令。
一般do_#命令会返回1,这样这个runloop会立即结束,下次运行到某帧触发中断时,会再次启动runloop(见步骤3);对于信息获取类的命令,do_#命令没有返回值来保持当前的中断状态。
5.代码运行到下一帧,并重复步骤3。
以上是python中pdb的使用流程。希望对你有帮助。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。