196 """ |
196 """ |
197 if self._dbgClient.callTraceEnabled: |
197 if self._dbgClient.callTraceEnabled: |
198 if not self.__skip_it(fromFrame) and not self.__skip_it(toFrame): |
198 if not self.__skip_it(fromFrame) and not self.__skip_it(toFrame): |
199 if event in ["call", "return"]: |
199 if event in ["call", "return"]: |
200 fr = fromFrame |
200 fr = fromFrame |
201 # TODO: change from and to info to a dictionary |
201 fromInfo = { |
202 fromStr = "%s:%s:%s" % ( |
202 "filename": self._dbgClient.absPath( |
203 self._dbgClient.absPath(self.fix_frame_filename(fr)), |
203 self.fix_frame_filename(fr)), |
204 fr.f_lineno, |
204 "linenumber": fr.f_lineno, |
205 fr.f_code.co_name) |
205 "codename": fr.f_code.co_name, |
|
206 } |
206 fr = toFrame |
207 fr = toFrame |
207 toStr = "%s:%s:%s" % ( |
208 toInfo = { |
208 self._dbgClient.absPath(self.fix_frame_filename(fr)), |
209 "filename": self._dbgClient.absPath( |
209 fr.f_lineno, |
210 self.fix_frame_filename(fr)), |
210 fr.f_code.co_name) |
211 "linenumber": fr.f_lineno, |
211 self._dbgClient.sendCallTrace(event, fromStr, toStr) |
212 "codename": fr.f_code.co_name, |
|
213 } |
|
214 self._dbgClient.sendCallTrace(event, fromInfo, toInfo) |
212 |
215 |
213 def trace_dispatch(self, frame, event, arg): |
216 def trace_dispatch(self, frame, event, arg): |
214 """ |
217 """ |
215 Public method reimplemented from bdb.py to do some special things. |
218 Public method reimplemented from bdb.py to do some special things. |
216 |
219 |