327 self.__checkBreakInFrame(frame) or |
327 self.__checkBreakInFrame(frame) or |
328 Watch.watches != []): |
328 Watch.watches != []): |
329 return self.trace_dispatch |
329 return self.trace_dispatch |
330 else: |
330 else: |
331 # No need to trace this function |
331 # No need to trace this function |
332 return |
332 return None |
333 |
333 |
334 if event == 'return': |
334 if event == 'return': |
335 if frame == self.returnframe: |
335 if frame == self.returnframe: |
336 # Only true if we didn't stopped in this frame, because it's |
336 # Only true if we didn't stopped in this frame, because it's |
337 # belonging to the eric debugger. |
337 # belonging to the eric debugger. |
338 self._set_stopinfo(None, frame.f_back) |
338 self._set_stopinfo(None, frame.f_back) |
339 return |
339 return None |
340 |
340 |
341 if event == 'exception': |
341 if event == 'exception': |
342 if not self.__skipFrame(frame): |
342 if not self.__skipFrame(frame): |
343 # When stepping with next/until/return in a generator frame, |
343 # When stepping with next/until/return in a generator frame, |
344 # skip the internal StopIteration exception (with no traceback) |
344 # skip the internal StopIteration exception (with no traceback) |
353 # generator before the exception. |
353 # generator before the exception. |
354 elif (self.stopframe and frame is not self.stopframe and |
354 elif (self.stopframe and frame is not self.stopframe and |
355 self.stopframe.f_code.co_flags & CO_GENERATOR and |
355 self.stopframe.f_code.co_flags & CO_GENERATOR and |
356 arg[0] in (StopIteration, GeneratorExit)): |
356 arg[0] in (StopIteration, GeneratorExit)): |
357 self.user_exception(arg) |
357 self.user_exception(arg) |
358 return |
358 return None |
359 |
359 |
360 if event == 'c_call': |
360 if event == 'c_call': |
361 return |
361 return None |
362 if event == 'c_exception': |
362 if event == 'c_exception': |
363 return |
363 return None |
364 if event == 'c_return': |
364 if event == 'c_return': |
365 return |
365 return None |
366 |
366 |
367 print('DebugBase.trace_dispatch:' # __IGNORE_WARNING_M801__ |
367 print('DebugBase.trace_dispatch:' # __IGNORE_WARNING_M801__ |
368 ' unknown debugging event: ', |
368 ' unknown debugging event: ', |
369 repr(event)) |
369 repr(event)) |
370 return self.trace_dispatch |
370 return self.trace_dispatch |