dirty-debug

Crates.iodirty-debug
lib.rsdirty-debug
version1.0.0
sourcesrc
created_at2022-10-20 18:22:43.992175
updated_at2024-08-09 11:50:37.592693
descriptionQuick and dirty debugging
homepagehttps://github.com/orium/dirty-debug
repositoryhttps://github.com/orium/dirty-debug
max_upload_size
id692794
size34,710
Diogo Sousa (orium)

documentation

https://docs.rs/dirty-debug

README

Build Status Code Coverage Dependency status crates.io Downloads Github stars Documentation License

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!
Commit count: 15

cargo fmt