How to interrupt the control of pdb in python
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!