GithubHelp home page GithubHelp logo

Enable Remote Debugging about pudb HOT 12 CLOSED

inducer avatar inducer commented on August 25, 2024 2
Enable Remote Debugging

from pudb.

Comments (12)

msbrogli avatar msbrogli commented on August 25, 2024 1

I created a new project that allows you to access your pudb from a remote device.
https://github.com/msbrogli/rpudb

from pudb.

inducer avatar inducer commented on August 25, 2024

Agreed, that would be useful. Unfortunately, I don't have the spare cycles to do it at the moment.

Andreas

from pudb.

theladyjaye avatar theladyjaye commented on August 25, 2024

If you can point me in the direction of where/how you would approach it, I would be happy to fork it and see what I can come up with. If anything meaningful arises, I will send you a pull request for your review.

from pudb.

inducer avatar inducer commented on August 25, 2024

I can see two possible routes. The first one would depend on rpdb2, which is the remote debugging backend behind winpdb. rpdb2 is apparently also a much faster debugger than bdb (which underlies pudb). The downside of this is GPL2-only licensing, but I don't think I'd mind.

The other would be to roll your own RPC layer in between pudb and the server process.

In the rpdb2 case, I'm not sure how much tweaking pudb variable view might need. In either case, I think it's preferable to do data view rendering server side.

(Nearly) all the code you'd need to modify is in pudb/debugger.py. UI and debugger are (somewhat) well-separated in that file. I'd be happy to support you if questions arise.

Andreas

from pudb.

knappador avatar knappador commented on August 25, 2024

Is pyro4 of any use as an RPC layer? How might the tty output get to the appropriate client if the application calls set_trace from it's own thread? The flow of how pdub gets output back to the terminal in the case of local debugging is a little out of my reach so far. Looking for clues.

from pudb.

atykhonov avatar atykhonov commented on August 25, 2024

Hi Andreas!
Was remote debugging implemented already? Is there any news about that?

from pudb.

inducer avatar inducer commented on August 25, 2024

No progress for now. Thanks for checking.

Andreas

from pudb.

atykhonov avatar atykhonov commented on August 25, 2024

May I contribute somehow?
How do you think, is there reason to implement such feature?
I don't know how debugging overall works and for now doesn't imagine how everything should be implemented but I would like to try.

from pudb.

inducer avatar inducer commented on August 25, 2024

@atykhonov You can try your hand at this, sure.
It's not a high priority for me, but I'd be happy to consider a patch that implements this.
I think it might be a rather invasive operation to realize this feature. It might be best to start with rpdb2 (or something like it, because of the GPL/MIT license mismatch). Ditching bdb entirely might not be a bad idea--it's a pretty poor API...

from pudb.

achikin avatar achikin commented on August 25, 2024

Why not rpdb? https://github.com/tamentis/rpdb

from pudb.

gasull avatar gasull commented on August 25, 2024

Why is this still open if rudimentary remote debugging is already supported?

from pudb.

inducer avatar inducer commented on August 25, 2024

Thanks for noticing this! I think a fair answer is that this should be closed, and new, more focused issues be opened with ideas for improvement of the current remote debugging code.

from pudb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.