watchpoints
delve
watchpoints | delve | |
---|---|---|
7 | 52 | |
462 | 22,075 | |
- | 0.8% | |
1.5 | 9.2 | |
about 1 year ago | 5 days ago | |
Python | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
watchpoints
-
What a good debugger can do
It's sad that Python does not really support some of these debugging methods.
E.g. you cannot really watch variable changes. There are some workarounds, like writing a custom __setattr__ or __setattribute__ in case of an object, or checking all STORE_* operations. https://youtrack.jetbrains.com/issue/PY-30387 https://github.com/gaogaotiantian/watchpoints
Reverse debugging is also sth I would like to have, and there are a few projects to support this, but it's not really well supported in standard CPython. https://foss.heptapod.net/pypy/revdb https://pytrace.com/
-
Is there a tool to run code and AFTER that look at execution step by step.
There is also the watchpoints module to track changes to variables, but I don't think you can use the two of them together since they both use the same underlying callback in Python.
- Watchpoints - an easy-to-use, intuitive variable/object monitor tool for Python that behaves similar to watchpoints in gdb.
-
Show HN: Watchpoints, an easy to use watchpoints equivalent library for Python
It uses Python's built-in inspect module to get the caller frame. https://github.com/gaogaotiantian/watchpoints/blob/68bc13716...
It then uses sys.settrace (which is intended as an interface for debuggers) to step through the code and check whether the variable has been changed. Documentation on sys.settrace: https://docs.python.org/3/library/sys.html#sys.settrace
Python exposes most of its guts as part of the standard library, making clever hacks like this possible.
delve
-
The worst thing about Jenkins is that it works
At a recent job, we had slightly different containers for local dev; our backend containers (for a Go app) had Air [1] installed for live reloading, plus Delve [2] running inside the container for VS Code's debugger to connect to. We also had a frontend container for local dev, which didn't get deployed as a container, just as static files.
[1] https://github.com/cosmtrek/air
[2] https://github.com/go-delve/delve/
-
Delve v1.21.2 is out now
https://github.com/go-delve/delve/releases/tag/v1.21.2 Thanks Derek and the rest of the team for helping us to debug in a normal way!
- I do not use a debugger
-
Writing and debugging integration tests of multiple processes with Golang
My employer has a commercial solution for this but Delve does supports `rr` traces natively for this purpose, which gives a complete open-source solution (https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_replay.md).
- No support for debugging Go on OpenBSD
- Delve v1.20.2 is out now
-
Tools besides Go for a newbie
delve and related IDE integrations
-
What a good debugger can do
For time travel debugging in Go:
The Delve debugger for Go supports debugging rr traces: https://github.com/go-delve/delve/blob/master/Documentation/...
Undo (who I work for) maintain a fork that debugs our LiveRecorder recordings: https://docs.undo.io/GoDelve.html
Either rr (https://rr-project.org/) or our UDB debugger (https://undo.io/solutions/products/udb/) can do some time travel debugging of Go programs via GDB's built-in support for Go. I believe its weakness is in support for goroutines, since they don't map well onto its idea of how programs run.
-
Is there a neovim config with preconfigured debugger?
So in my case I use https://github.com/leoluz/nvim-dap-go (which itself calls out to the CLI tool https://github.com/go-delve/delve).
-
What's wrong with my GoLand debugger?
Clone https://github.com/go-delve/delve.git