导语:
本文主要介绍了关于python中pdb的中断控制的相关知识,包括python -m,以及python调用这些编程知识,希望对大家有参考作用。
1、根据用户输入的调试命令,pdb会在跟踪帧的每一步时进行中断控制,决定下一步是否中断,中断哪一行。
2、stop_here是中断控制的主要方法。
中断控制是指在输入不同的调试命令后,代码可以执行到正确的位置,等待用户输入。例如,输入 s 的控制台应该在运行帧的下一个代码处停止,输出 c 需要运行到下一个断点。在sys.settrace的每一步trace中,中断控制是调试操作的核心逻辑。
实例
def stop_here(self, frame):
# (CT) stopframe may now also be None, see dispatch_call.
# (CT) the former test for None is therefore removed from here.
if self.skip and \
self.is_skipped_module(frame.f_globals.get('__name__')):
return False
# next
if frame is self.stopframe:
# stoplineno >= 0 means: stop at line >= the stoplineno
# stoplineno -1 means: don't stop at all
if self.stoplineno == -1:
return False
return frame.f_lineno >= self.stoplineno
# step:当前只要追溯到botframe,就等待执行。
while frame is not None and frame is not self.stopframe:
if frame is self.botframe:
return True
frame = frame.f_back
return False
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Python如何查看一个对象的内容和属性12/23
- ♥ 天啦噜!仅仅5张图,彻底搞懂Python中的深浅拷贝01/18
- ♥ 如何在python中找到与列表元素对应的索引09/06
- ♥ 如何在 python3.6 中安装 numpy?11/06
- ♥ 如何在cmd中快速进入并运行python12/08
- ♥ 超详细的python测评问答09/28
内容反馈