Home | History | Annotate | Download | only in python2.7

Lines Matching refs:frame

45     def trace_dispatch(self, frame, event, arg):
49 return self.dispatch_line(frame)
51 return self.dispatch_call(frame, arg)
53 return self.dispatch_return(frame, arg)
55 return self.dispatch_exception(frame, arg)
65 def dispatch_line(self, frame):
66 if self.stop_here(frame) or self.break_here(frame):
67 self.user_line(frame)
71 def dispatch_call(self, frame, arg):
75 self.botframe = frame.f_back # (CT) Note that this may also be None!
77 if not (self.stop_here(frame) or self.break_anywhere(frame)):
80 self.user_call(frame, arg)
84 def dispatch_return(self, frame, arg):
85 if self.stop_here(frame) or frame == self.returnframe:
87 self.frame_returning = frame
88 self.user_return(frame, arg)
94 def dispatch_exception(self, frame, arg):
95 if self.stop_here(frame):
96 self.user_exception(frame, arg)
110 def stop_here(self, frame):
114 self.is_skipped_module(frame.f_globals.get('__name__')):
116 if frame is self.stopframe:
119 return frame.f_lineno >= self.stoplineno
120 while frame is not None and frame is not self.stopframe:
121 if frame is self.botframe:
123 frame = frame.f_back
126 def break_here(self, frame):
127 filename = self.canonic(frame.f_code.co_filename)
130 lineno = frame.f_lineno
134 lineno = frame.f_code.co_firstlineno
139 (bp, flag) = effective(filename, lineno, frame)
151 def break_anywhere(self, frame):
152 return self.canonic(frame.f_code.co_filename) in self.breaks
157 def user_call(self, frame, argument_list):
162 def user_line(self, frame):
166 def user_return(self, frame, return_value):
170 def user_exception(self, frame, exc_info):
187 def set_until(self, frame): #the name "until" is borrowed from gdb
189 reached or when returning from current frame"""
190 self._set_stopinfo(frame, frame, frame.f_lineno+1)
197 # for performance reasons) when returning from the current frame.
204 def set_next(self, frame):
205 """Stop on the next line in or below the given frame."""
206 self._set_stopinfo(frame, None)
208 def set_return(self, frame):
209 """Stop when returning from the given frame."""
210 self._set_stopinfo(frame.f_back, frame)
212 def set_trace(self, frame=None):
213 """Start debugging from `frame`.
215 If frame is not specified, debugging starts from caller's frame.
217 if frame is None:
218 frame = sys._getframe().f_back
220 while frame:
221 frame.f_trace = self.trace_dispatch
222 self.botframe = frame
223 frame = frame.f_back
233 frame = sys._getframe().f_back
234 while frame and frame is not self.botframe:
235 del frame.f_trace
236 frame = frame.f_back
363 frame, lineno = frame_lineno
364 filename = self.canonic(frame.f_code.co_filename)
366 if frame.f_code.co_name:
367 s = s + frame.f_code.co_name
370 if '__args__' in frame.f_locals:
371 args = frame.f_locals['__args__']
378 if '__return__' in frame.f_locals:
379 rv = frame.f_locals['__return__']
382 line = linecache.getline(filename, lineno, frame.f_globals)
533 def checkfuncname(b, frame):
537 if b.line != frame.f_lineno:
545 if frame.f_code.co_name != b.funcname:
549 # We are in the right frame.
552 b.func_first_executable_line = frame.f_lineno
554 if b.func_first_executable_line != frame.f_lineno:
561 def effective(file, line, frame):
574 if not checkfuncname(b, frame):
593 val = eval(b.cond, frame.f_globals,
594 frame.f_locals)
615 def user_call(self, frame, args):
616 name = frame.f_code.co_name
619 def user_line(self, frame):
621 name = frame.f_code.co_name
623 fn = self.canonic(frame.f_code.co_filename)
624 line = linecache.getline(fn, frame.f_lineno, frame.f_globals)
625 print '+++', fn, frame.f_lineno, name, ':', line.strip()
626 def user_return(self, frame, retval):
628 def user_exception(self, frame, exc_stuff):