ConsoleDebugger 1.0.1
See the version list below for details.
dotnet add package ConsoleDebugger --version 1.0.1
NuGet\Install-Package ConsoleDebugger -Version 1.0.1
<PackageReference Include="ConsoleDebugger" Version="1.0.1" />
<PackageVersion Include="ConsoleDebugger" Version="1.0.1" />
<PackageReference Include="ConsoleDebugger" />
paket add ConsoleDebugger --version 1.0.1
#r "nuget: ConsoleDebugger, 1.0.1"
#addin nuget:?package=ConsoleDebugger&version=1.0.1
#tool nuget:?package=ConsoleDebugger&version=1.0.1
ConsoleDebugger
Overview
ConsoleDebugger is a lightweight utility designed for console applications that involve multiple asynchronous operations, background processes, and network activities. It provides functionalities to log debug messages, play audible beeps, and dynamically track float variables with a contnious tone, making it useful for debugging and monitoring applications with complex behavior. ConsoleDebugger is ideal for console applications where you have multiple asynchronous methods, background processes, or network operations and need a way to keep track of multiple moving parts.
Installation
To use ConsoleDebugger in your C# console application, follow these steps:
- Install the NAudio package via NuGet Package Manager:
Install-Package NAudio -Version 2.2.1
Copy the
ConsoleDebugger.cs
file into your project directory.Include
using static ConsoleDebugger.ConsoleDebugger;
at the top of your C# files where you want to use ConsoleDebugger functionalities.
Usage
Logging Debug Messages
You can log debug messages with different colors and message types using the DebugMessage
function:
Result result = SomeNetworkFunction() // example funtion
ConsoleDebugger.DebugMessage("We started the network function.");
if(result = Good){
//denote network results in blue
ConsoleDebugger.DebugMessage($"Here's the results {result}", ConsoleColor.Blue);
} else {
ConsoleDebugger.DebugMessage("Critical error occurred: {result.Message}", MessageType.Critical);
}
Optional File Logging
You can enable file logging for debug messages by calling the StartLogging
function:
ConsoleDebugger.StartLogging();
To stop file logging, use the StopLogging
function:
ConsoleDebugger.StopLogging();
File logging is configured in the LoggingConfiguration
class, where you can set options such as log style (CSV or plain text) and timestamp inclusion.
Note: Ensure proper error handling and file management practices when using file logging to avoid potential issues with file access and resources.
Playing Audible Beeps
You can enqueue requests to play audible beeps with specific pitches and durations using the DebugBeep
function:
ConsoleDebugger.DebugBeep(TonePitch.Do, ToneLength.Short);
ConsoleDebugger.DebugBeep(TonePitch.Re, ToneLength.Short);
ConsoleDebugger.DebugBeep(TonePitch.Mi, ToneLength.Medium);
ConsoleDebugger.DebugBeep(TonePitch.Fa, ToneLength.Medium);
ConsoleDebugger.DebugBeep(TonePitch.Sol, ToneLength.Long);
Tracking Float Variables
You can start tracking float variables dynamically and generate tones based on their values using the StartTrackingFloat
function:
float valueToTrack = 0.0f;
FloatSynthesizer synthesizer = ConsoleDebugger.StartTrackingFloat(ref valueToTrack, 0.0f, 100.0f);
or
float valueToTrack = 0.0f;
StartTrackingFloat(ref valueToTrack, 0.0f, 100.0f);
As valueToTrack
fluctuates, it will become more audible the closer to the maximum value that it gets. The closer it gets to the minimum value, the less audible and more quiet it will become.
This can be useful in scenarios where you may be receiving large quantities of represenative data within a certain range, or may be preforming algorithmic operations, and need some way to better understand how the values are being effected.
Functions Details
DebugMessage(string message)
Enqueues a basic debug message to the processing queue.
DebugMessage(string message, ConsoleColor color)
Enqueues a debug message with a specified foreground color.
DebugMessage(string message, MessageType type)
Enqueues a debug message with an associated message type (General, Warning, Critical).
DebugBeep(TonePitch pitch, ToneLength duration)
Enqueues a request to play an audible beep with a specified pitch and duration.
StartTrackingFloat(ref float target, float minrange, float maxrange) : FloatSynthesizer
Begins monitoring a float variable, generating a tone whose pitch changes dynamically based on the variable's value within a specified range.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- NAudio (>= 2.2.1)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on ConsoleDebugger:
Package | Downloads |
---|---|
P2PNet
P2PNet is a peer-to-peer facilitation library with the goal of seamless peer discovery, secure encryption, and distributed data exchange. |
|
ConsoleDebugger.Beeps
Extension of ConsoleDebugger. Introduces simply formatted beep messages using Do, Re, Mi, Sol, ect. with different pre-defined tone lengths. |
|
ConsoleDebugger.FloatTracker
Extension of ConsoleDebugger. Introduces auditory float tracking. Pass any float variable in your application, and a min/max range to hear an auditory tone representing the value in range as a percentage. Can be useful for developing where I/O is dealing with large quantities of information or preforming several rapid operations - good for mental visualization. |
GitHub repositories
This package is not used by any popular GitHub repositories.