Hi Uri,

PyDev does not use pdb in the backend.

It uses the Python tracing directly (i.e.: sys.settrace and threading.settrace). This takes place at pydevd.PyDB.run (on pydevd_tracing.SetTrace(self.trace_dispatch) and threading.settrace(self.trace_dispatch)).

After the call to settrace, all the calls to a new frame should go through pydevd.PyDB.trace_dispatch (and then if the debugger determines it's a frame it should be tracing -- as the debugger is very optimized in regards to only tracing the places where a breakpoint is added -- the calls should go through pydevd_frame.PyDBFrame.trace_dispatch).

So, the first thing I'd do is do some prints on the trace_dispatch calls to get familiar with it on a small program and then move on to checking what may be happening at google app engine (the main thing there is probably getting the settrace in place -- you may want to check if the remote debugger works as it emulates a breakpoint in code).



On Sat, Jun 1, 2013 at 3:27 AM, Uri London <uri@london.org.il> wrote:
Referring to googleappengine project in Google Code, issue 9012: 

https://code.google.com/p/googleappengine/issues/detail?id=9012&q=Type%3DDefect&colspec=ID Type Component Status Stars Summary Language Priority Owner Log

Currently, PyDev debugger is broken in new dev_appserver.
Issue is marked as 'MoreInfoRequired', with the question being asked is: Do you know if PyDev used pdb in the backend?

I'd like to get this issue some traction, but I've failed to figure out in the PyDev code how the debugger is implemented. Can you please describe or get me some pointers where I can start reading?

Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
pydev-code mailing list