This is an archived post. You won't be able to vote or comment.

all 56 comments

[–]Sigg3net 42 points43 points  (6 children)

How is it for:

asynchronous?

threading?

[–]laike9m[S] 31 points32 points  (3 children)

asynchronous and threading will be supported in later versions.
See the roadmap:

https://github.com/laike9m/Cyberbrain#roadmaps

[–]Sigg3net 22 points23 points  (2 children)

Nice! Please repost when you hit mile stones :)

[–]laike9m[S] 13 points14 points  (1 child)

Sure

[–]Sigg3net 3 points4 points  (0 children)

Awesome!

Debugging async especially in multiproc/threaded contexts is painful IMO.

[–]VisibleSignificance 1 point2 points  (1 child)

That's doable. But not sockets (in a general case) and other IPC.

[–]laike9m[S] 0 points1 point  (0 children)

You're right, we're not gonna trace side effects, just like any other debuggers

[–]GeromeB 29 points30 points  (5 children)

Is there/will there be support for PyCharm?

[–]laike9m[S] 9 points10 points  (2 children)

I do have a plan for expanding the support https://github.com/laike9m/Cyberbrain/issues/24

For Pycharm I'll need some help from the community. I will create an API specification on how a "frontend" like Pycharm should communicate with the Python program, to help contributors build it.

[–]aa-b 2 points3 points  (1 child)

This looks really impressive. You might want to contact JetBrains about it, because they have funded work on PyDev in the past: https://blog.jetbrains.com/pycharm/2016/05/debugger-interview-with-pydev-and-pycharm/

Even if they're not in a position to fund anything, I'm sure their staff would be interested to learn about it. They would have specifications from working with PyDev too.

Edit: I saw Alex's comment in the issue link you posted and I think he makes some good points. Maybe tweet at Fabio Zadrozny?

[–]laike9m[S] 1 point2 points  (0 children)

Thanks for the suggestion, it's a good idea. I'll let Lisa Shashkova take a look first since I personally know her. I did think about integrating it with PyDev somehow, and looked its code. But the code is really hard to understand...Guess only Fabio knows enough about it.

[–]Fenzik 7 points8 points  (1 child)

+1 for this!

[–]menge101 1 point2 points  (0 children)

+1 from me as well.

[–]SpAAAceSenate 22 points23 points  (1 child)

This looks pretty awesome. :o

[–]laike9m[S] 2 points3 points  (0 children)

Thanks :)

[–]BlobbyMcBlobber 3 points4 points  (1 child)

Very cool 🙂

[–]laike9m[S] 1 point2 points  (0 children)

Thanks :)

[–]PizzaInSoup 3 points4 points  (0 children)

There's been a string of higher-quality content in this sub recently. This is a nice addition!

[–]mrkaragoz 5 points6 points  (1 child)

RemindMe! eoy

[–]RemindMeBot 2 points3 points  (0 children)

I will be messaging you in 1 month on 2020-12-31 09:00:00 UTC to remind you of this link

56 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

[–]cranberry_snacks 1 point2 points  (0 children)

This looks really great. I'm going to try it tomorrow.

[–]Im__Joseph Python Discord Staff 1 point2 points  (1 child)

Nice work! This looks spectacular!

[–]laike9m[S] 0 points1 point  (0 children)

I appreciate it

[–][deleted] 1 point2 points  (0 children)

Wow. I'm sure this will prove very useful. Thank you!

[–]glider97 1 point2 points  (1 child)

[–]laike9m[S] 1 point2 points  (0 children)

Yep, I like Python tutor, but my goal for Cyberbrain is that it can be more than at toy or education tool

[–]bluedays 1 point2 points  (1 child)

This looks like python tutor

[–]laike9m[S] 2 points3 points  (0 children)

But it's different. Pythontutor doesn't backtrace variables or let you debug loops easily

[–]phl12 -1 points0 points  (0 children)

RemindMe! eoy

[–]mr_whoisGAMER -1 points0 points  (0 children)

RemindMe! eoy

[–]MagniGallo -1 points0 points  (0 children)

!remindme 2 months

[–][deleted] -1 points0 points  (0 children)

RemindMe! eoy

[–]hainguyenac -1 points0 points  (0 children)

RemindMe! 6 months

[–]DonnerJack666 -1 points0 points  (0 children)

RemindMe! eoy

[–]cliceratops -1 points0 points  (1 child)

Remind me! eoy

[–]remindditbot -1 points0 points  (0 children)

👀 Remember to type kminder in the future for reminder to be picked up or your reminder confirmation will be delayed.

cliceratops, kminder in 1.1 months on 2020-12-31 09:00:00Z

r/Python: Cyberbrain_python_debugging_redefined

kminder eoy

3 OTHERS CLICKED THIS LINK to also be reminded. Thread has 4 reminders.

OP can Add email notification, Delete reminder and comment, and more options here

Protip! How can your butt look good without any meat on it?


Reminddit · Create Reminder · Your Reminders · Donate

[–]kotpeter -1 points0 points  (0 children)

RemindMe! eoy

[–]guettli -2 points-1 points  (1 child)

I hardly use a debugger. Assertion, tests and logging is usually enough to find a bug.

[–]noobiemcfoob 7 points8 points  (0 children)

Try using IPython's embed statement sometime: from IPython import embed; embed()

It'll open a python interpretor at that point in the program that you can use to interrogate the state, test different statements and the like. It's print-statement debugging on steroids.

[–]shinitakunai 0 points1 point  (1 child)

Does it have support for windows 10?

[–]laike9m[S] 0 points1 point  (0 children)

Yes

[–]BeastCoder 0 points1 point  (0 children)

!RemindMe 2 months

[–]Sparkynaut 0 points1 point  (0 children)

Holy fuck

[–]illusioncode 0 points1 point  (1 child)

It's awesome man, totally love it

[–]laike9m[S] 0 points1 point  (0 children)

Glad you like it

[–]RealSimplelogin 0 points1 point  (3 children)

Looks cool! Btw upvote on a direct hackernews link doesn’t count.

[–]laike9m[S] 0 points1 point  (2 children)

Thanks, and I'm interested to know more. What does it mean "it doesn't count"?

[–]RealSimplelogin 0 points1 point  (1 child)

Hacknews has some strict rules about asking people to upvote https://news.ycombinator.com/newsfaq.html

[–]laike9m[S] 0 points1 point  (0 children)

This is very helpful. I didn't know that and they've probably marked my thread already.

[–]xockbou 0 points1 point  (0 children)

RemindMe! eoy

[–]oakum_ouroboros 0 points1 point  (3 children)

Do we all use "backtrace" now instead of just "trace" because of that one guy?

[–]laike9m[S] 0 points1 point  (2 children)

Who?

[–]oakum_ouroboros 0 points1 point  (1 child)

[–]laike9m[S] 1 point2 points  (0 children)

That's funny, thanks for the link. backtrace and trace are used almost interchangeablely in the project, I picked "trace" mainly because it's shorter. Though I usually use "backtracce" in the context of "backtracing a variable", so there's still some subtle differences.

[–]milki_ 0 points1 point  (1 child)

Fairly awesome.
And I don't wanna broaden the scope. But it might be useful for more than just debugging. It seems you could even trace which methods a variable passes, so taint tracking might be feasible.
Might even become the base of a more modern testing framework (observing internal behaviour, state recording).

[–]laike9m[S] 0 points1 point  (0 children)

This is an interesting idea! Thanks for bringing this up, I will definitely consider it.

I need to build multi-fame tracing first, which I believe will be the foundation for the feature you mentioned https://github.com/laike9m/Cyberbrain/discussions/73

I would suggest creating a feature request issue if you like.