380 """ |
380 """ |
381 if frame is None: |
381 if frame is None: |
382 frame = sys._getframe().f_back # Skip set_trace method |
382 frame = sys._getframe().f_back # Skip set_trace method |
383 |
383 |
384 if sys.version_info[0] == 2: |
384 if sys.version_info[0] == 2: |
385 stopOnHandleLine = self._dbgClient.handleLine.func_code |
385 stopOnHandleCommand = self._dbgClient.handleJsonCommand.func_code |
386 else: |
386 else: |
387 stopOnHandleLine = self._dbgClient.handleLine.__code__ |
387 stopOnHandleCommand = self._dbgClient.handleJsonCommand.__code__ |
388 |
388 |
389 frame.f_trace = self.trace_dispatch |
389 frame.f_trace = self.trace_dispatch |
390 while frame.f_back is not None: |
390 while frame.f_back is not None: |
391 # stop at erics debugger frame or a threading bootstrap |
391 # stop at eric's debugger frame or a threading bootstrap |
392 if (frame.f_back.f_code == stopOnHandleLine): |
392 if (frame.f_back.f_code == stopOnHandleCommand): |
393 frame.f_trace = self.trace_dispatch |
393 frame.f_trace = self.trace_dispatch |
394 break |
394 break |
395 |
395 |
396 frame = frame.f_back |
396 frame = frame.f_back |
397 |
397 |