SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Python Debugging Projects
-
mitmproxy
An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
Project mention: Apple's M4 Has Reportedly Adopted the ARMv9 Architecture | news.ycombinator.com | 2024-05-24Mainly this was just myself getting irritated at MS Teams and trying to figure out what it was doing. It was a couple years ago and my current company doesn't use teams, thankfully, so I can't really see if its still valid.
From what I remember..
There are files on the disk that get updated/overwritten with pulls from the server every time it launches. Somewhere in AppData I think. A few of these are config files (with lots of interesting looking settings, including beta features).
One of the config entries specifies a telemetry endpoint (which, you _could_ figure out with a network tracing tool but there are a ton of MS telemetry endpoints your machine is probably talking to. Best to just grab the one explicitly being used from the config like this). I forget the full name of the setting but the name pretty clearly indicates its for telemetry, and the file is clearly a config file. If you can't find it just by browsing the structure, try a multi-file search tool and look for 'telemetry' or URL/hostnames.
You can't really change the value on disk and make it just take effect from there, since it gets downloaded from the server and overwritten before Teams loads. There might be some tricks you can do locally to persist the change but nothing seemed to work for me. You could override response from server via mitmproxy but that requires finding where it comes across the wire at launch time and then building a script/config to replace it.
Anyway, you can block that telemetry endpoint from a firewall and see your memory bloat. Or you can intercept that endpoint in any mitm proxy. I went with this [mitmproxy](https://mitmproxy.org/). From there you can capture the content it sends to the endpoint, or even change the response the server sends (Teams just seems to expect a 200 code back).
The telemetry data itself is some kind of streaming event format. I think I even found documentation on the structure on some microsoft website, so its likely a reused format.
It's pretty straightforward.
I couldn't spend too much time on it and now it's not something I even use, but some cool things you might want to try if you dive deeper into this:
- Overwrite the config file as it returns from the server, to turn on EU data protection, change various functionality you're not supposed to, or flip some feature flags.
- Figure out if there's a feature flag or even other overwrite to fully disable the metrics so they aren't even collected, from anywhere in the app.
- Intercept telemetry, return an 'OK' response and drop the data from telemetry, or maybe document what they collect more definitively if you think there's interest somewhere. This keeps your privacy but doesn't really do anything for performance.
- Interfere with the data before actually returning it, maybe try playing with event contents and channel/user indicators. Microsoft probably won't like this if they notice, but it's unlikely they'll even notice.
-
Scout Monitoring
Free Django app performance insights with Scout Monitoring. Get Scout setup in minutes, and let us sweat the small stuff. A couple lines in settings.py is all you need to start monitoring your apps. Sign up for our free tier today.
-
httpie
🥧 HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. (by httpie)
Notice in the above http POST syntax using HTTPie test client that we specified our first table using /db/review/_expand which says that we want the review table expanded with data from the film table. We further also added some expand (join) conditions table, fields, type prior to the http POST in a JSON Array payload.
-
https://github.com/gruns/icecream#icecream-in-other-language...
-
-
-
gef
GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging capabilities for exploit devs & reverse engineers on Linux
There is also GEF, which is widely used by the reverse engineering and CTF community.
https://github.com/hugsy/gef
-
viztracer
VizTracer is a low-overhead logging/debugging/profiling tool that can trace and visualize your python code execution.
Project mention: Ask HN: C/C++ developer wanting to learn efficient Python | news.ycombinator.com | 2024-04-10* https://github.com/gaogaotiantian/viztracer get a timeline of execution vs call-stack (great to discover what's happening deep inside pandas)
-
InfluxDB
Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
-
-
-
-
-
-
-
-
ice
Interactive Composition Explorer: a debugger for compositional language model programs (by oughtinc)
-
-
watchpoints
watchpoints is an easy-to-use, intuitive variable/object monitor tool for python that behaves similar to watchpoints in gdb.
-
-
-
-
-
https://github.com/log10-io/log10-cookbook/tree/main
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Python Debugging discussion
Python Debugging related posts
-
Pipevcr: Like Asciinema but for Pipes
-
Beej's Quick Guide to GDB (2009)
-
Chidori – Declarative Framework for AI Agents (Rust, Python, and Node.js)
-
Diaphora, the most advanced Free and Open Source program diffing tool
-
GitHub - hdmamin/roboduck: Natural language debugging, talking error messages, and loquacious loggers.
-
anyone has done an API endpoints scanner?
-
Show HN: Roboduck, a GPT-powered Python debugger
-
A note from our sponsor - SaaSHub
www.saashub.com | 8 Sep 2024
Index
What are some of the best open-source Debugging projects in Python? This list will help you:
Project | Stars | |
---|---|---|
1 | mitmproxy | 35,815 |
2 | httpie | 33,300 |
3 | icecream | 8,865 |
4 | PlatformIO | 7,811 |
5 | pwndbg | 7,178 |
6 | gef | 6,801 |
7 | viztracer | 4,822 |
8 | Cyberbrain | 2,501 |
9 | pyelftools | 1,986 |
10 | stackprinter | 1,277 |
11 | snoop | 1,249 |
12 | best-of-python-dev | 997 |
13 | hunter | 796 |
14 | like-dbg | 732 |
15 | ice | 529 |
16 | dd-trace-py | 519 |
17 | watchpoints | 479 |
18 | manhole | 371 |
19 | remote-pdb | 269 |
20 | west | 225 |
21 | graphsignal-python | 202 |
22 | log10 | 94 |
23 | cpython-lldb | 75 |