Author Topic: PTVSD call stack navigation in Beta 3  (Read 845 times)

Exolon

  • Community Member
  • Posts: 46
  • Hero Points: 5
  • https://blog.mdb977.de/
PTVSD call stack navigation in Beta 3
« on: September 16, 2020, 11:58:06 AM »
Hi,

The python PTVSD call stack navigation seems not working correctly in Beta 3.
If I change the call stack level, it jumps to the correct location in code, but the variables and debug information seems to be from a different level.

I'm using the remote debugging mode.

Thanks

Mike

patrick

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 1818
  • Hero Points: 151
Re: PTVSD call stack navigation in Beta 3
« Reply #1 on: September 16, 2020, 02:22:23 PM »
Hmm, I can't reproduce that with remote debugging, or local.  The differences in remote and local debugging are minor, so as long as both sides are running the same version of PTVSD, I wouldn't expect any difficulties.  Maybe there's something in one of the stack frames that's the difference that's triggering it.

If you want to reproduce it with debug logging on, it will help see what's happening.  The logging records all of the traffic between the backend and SlickEdit.  To do this:

1) Before attaching to the remote system, go to the SlickEdit command line and type in "set-var def-debug-logging 2".
2) Ideally there will be just one breakpoint that you need to hit to reproduce this.  Do the remote attachment, navigate between stack frames and verify you see the wrong frame variables.  And then end the debug session.
3) The logs I want to see are in your SlickEdit configuration directory, under 25.0.0/logs, will want the "debug.log" and "dapcom.log".  Zip those up, and you can either attach them to a forum reply, or we can send you instructions on how to upload them to support.  (My guess is they'll be small enough zipped to be an attachment, but if not, there's the support upload).
3a) Also, let me know some of the variable names that show up on the wrong frame, something like "I can see 'x' on the second frame from the top, that's a variable that should only be in scope on the top frame".  If there are no command errors, I won't be able to tell what should be where without it.
4) Go to the SlickEdit command line again, and set-var def-debug-logging 0.  Don't want to forget that, it persists.