导语:
本文主要介绍了关于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读取txt乱码的解决方法11/24
- ♥ python3时间中时间函数如何输出?12/15
- ♥ python3.7idle如何测试源码10/23
- ♥ python的json包在哪里以及如何使用01/13
- ♥ python随机函数能否生成一个字符串01/13
- ♥ 如何用python重用线程池?12/04
内容反馈