4 releases (1 stable)
1.0.0 | Aug 9, 2024 |
---|---|
0.2.0 | Nov 5, 2022 |
0.1.0 | Oct 23, 2022 |
0.0.0 | Oct 20, 2022 |
#207 in Debugging
19KB
286 lines
Dirty debug
dirty-debug
offers a quick and easy way to log message to a file (or tcp endpoint) for
temporary debugging.
A simple but powerful way to debug a program is to printing some messages to understand your
code’s behavior. However, sometimes you don’t have access to the stdout
/stderr
streams (for
instance, when your code is loaded and executed by another program). dirty-debug
offers you a
simple, no-setup, way to log to a file:
ddbg!("/tmp/debug_log", "Control reached here. State={}", state);
It’s as simple as that. Every time you call ddbg!()
you will append the debug
message to that file, together with the filename and line number of the source code’s location.
Note that this is not meant to be a normal form of logging: dirty-debug
should only be used
temporarily during your debug session and discarded after that.
Logging to a TCP endpoint
You can also use dirty-debug
to log to a TCP endpoint instead of a file:
ddbg!("tcp://192.168.1.42:12345", "Hello!");
Probably the easiest way to listen to a TCP endpoint in the target computer is by using netcat:
$ ncat -l 12345
[src/lib.rs:123] Hello!
Dependencies
~1.2–6MB
~23K SLoC