658 @param frame the frame object |
658 @param frame the frame object |
659 """ |
659 """ |
660 # We never stop on line 0. |
660 # We never stop on line 0. |
661 if frame.f_lineno == 0: |
661 if frame.f_lineno == 0: |
662 return |
662 return |
663 |
663 |
664 # See if we are skipping at the start of a newly loaded program. |
|
665 # Then get the complete frame stack without eric or Python supplied |
|
666 # libraries |
|
667 if self._dbgClient.mainFrame is None: |
|
668 fr = frame |
|
669 while (fr is not None and |
|
670 fr.f_code != self._dbgClient.handleLine.__code__): |
|
671 if (fr.f_code.co_filename == '<string>' or |
|
672 os.path.dirname(fr.f_code.co_filename) == self.lib): |
|
673 break |
|
674 |
|
675 self._dbgClient.mainFrame = fr |
|
676 fr = fr.f_back |
|
677 |
|
678 self.currentFrame = frame |
664 self.currentFrame = frame |
679 |
665 |
680 fr = frame |
666 fr = frame |
681 stack = [] |
667 stack = [] |
682 while fr is not None: |
668 while fr is not None: |