Get the App
SLTechnology News&Howtos  ›  Development  › 

How to interrupt the control of pdb in python

Shulou Source: shulou.com Published: 2022-06-03 17:37:12 10月05日 Update

Editor to share with you how to interrupt the control of pdb in python, I believe most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!

1. According to the debug commands entered by the user, pdb will carry out interrupt control when tracking each step of the frame to determine whether the next step will be interrupted and which line to interrupt.

2. Stop_here is the main method of interrupt control.

Interrupt control means that after entering different debugging commands, the code can be executed to the correct location and wait for the user to enter. For example, the input s console should stop at the next code that runs frame, and the output c needs to run to the next breakpoint. In every step of sys.settrace tracking, interrupt control is the core logic of debugging and running.

Example

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: currently only need to trace back to botframe Just wait for it to be executed. While frame is not None and frame is not self.stopframe: if frame is self.botframe: return True frame = frame.f_back return False above is all the content of this article "how to interrupt Control of pdb in python". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Tags: Control input article run code content command user trace different one line not much breakpoint location most instance console method more core Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Microsoft MySQL vpn OPPO Reno Docker