Desharp 1.3.0.1
See the version list below for details.
Requires NuGet 2.6 or higher.
dotnet add package Desharp --version 1.3.0.1
NuGet\Install-Package Desharp -Version 1.3.0.1
<PackageReference Include="Desharp" Version="1.3.0.1" />
paket add Desharp --version 1.3.0.1
#r "nuget: Desharp, 1.3.0.1"
// Install Desharp as a Cake Addin
#addin nuget:?package=Desharp&version=1.3.0.1
// Install Desharp as a Cake Tool
#tool nuget:?package=Desharp&version=1.3.0.1
Desharp - C# & VB .NET Debugging Tool
C# & VB .NET debugging utility for:
- dump or log any structuralized variables
- dump or log exceptions with stack trace and inner exceptions
Dump any variables into:
- Console window
- Output debug panel in Visual Studio
- Web response in floating window
- Html/text log files on HDD
- Any WinForms or WPF field component
Instalation
PM> Install-Package Desharp
Demos & Examples
- Console Application Demo (C#), (VB.NET)
Demo dumps and exceptions rendering into console window, logging on HDD and optional tests running. - Windows Forms Application Demo (C#)
Demo dumps and exceptions rendering into text field component, into debug output window and logging on HDD. - Web Basic Application Demo (C#)
Demo dumps and exceptions rendering into floating browser bar and logging on HDD. - Web MVC Application Demo (C#)
Demo dumps and exceptions rendering into floating browser bar and logging on HDD. - Web Forms Application Demo (C#)
Demo dumps and exceptions rendering into floating browser bar and logging on HDD.
Usage In Code
Basic Dumping & Logging Any Structuralized Variables
C# Basic Example
using Desharp;
using System.Collections.Generic;
var list = new List<int?>() { 100, 200, null };
Debug.Dump(list); // print list by Console.WriteLine(); or append into html response as floating window
Debug.Log(list); // store dumped list in debug.log or debug.html file on HDD
VB Basic Example
Imports Desharp
Imports System.Collections.Generic
Dim list As New List(Of Int32?)() { 100, 200, null }
Debug.Dump(list) ' print list by Console.WriteLine(); or append into html response as floating window
Debug.Log(list) ' store dumped list in debug.log or debug.html file on HDD
Dumped result for both languages:
[List<Int32?>[3]]
0: 100 [Int32]
1: 200 [Int32]
2: null
Basic Dumping & Logging Exceptions
C# Basic Example
try {
throw new Exception("Something wrong!");
} catch (Exception e) {
Debug.Dump(e); // print exception by Console.WriteLine(); or append into html response as floating window
Debug.Log(e); // store dumped exception in exception.log or exception.html file on HDD
}
VB Basic Example
Try
Throw New Exception("Something wrong!")
Catch e As Exception
Debug.Dump(e) ' print exception by Console.WriteLine(); or append into html response as floating window
Debug.Log(e) ' store dumped exception in exception.log or exception.html file on HDD
End Try
Dumped result for both languages:
System.Exception (Hash Code: 50632145):
Message : Something wrong!
Time : 2017-06-10 13:18:07:300
Process ID: 7972
Thread ID : 1
File : /Program.cs:8
-------
4 | namespace ExampleConsole {
5 | class Program {
6 | static void Main(string[] args) {
7 | try {
-> 8 | throw new Exception("Something wrong!");
9 | } catch (Exception e) {
10 | Debug.Dump(e); // print exception by Console.WriteLine(); or append into html response as floating window
11 | Debug.Log(e); // store dumped exception in exception.log or exception.html file on HDD
12 | }
-------
Callstack:
ExampleConsole.Program.Main(String[] args) /Program.cs 8
All Dump Methods
/**
* Dump any values to application output (in web applications into debug bar,
* in desktop applications into console or debug output window)
*/
Desharp.Debug.Dump(params object[] args);
/**
* Dump exception instance to application output if output dumping is enabled. It renders:
* - exception type, exception message and exception hash id
* - yes/no if exception has been caught or not caught
* - error file where exception has been thrown
* - thread call stack
* All inner exceptions after this exception in the same way.
*/
Desharp.Debug.Dump(Exception exception = null, DumpOptions? options = default(DumpOptions?));
/**
* Dump any values to application output (in web applications into debug bar,
* in desktop applications into console or debug output window)
* This method dumps only single object with dump options like to dump
* different object depth as usual, different string length or to dump source location and more...
*/
Desharp.Debug.Dump(object obj, DumpOptions? options = default(DumpOptions?));
/**
* Dump any type value to direct application output (not into web request debug
* bar in web applications!) and stop request/thread (in web applications dump into
* direct response body, in desktop applications into console or debug output window).
*/
Desharp.Debug.DumpAndDie(object obj = null, DumpOptions? options = default(DumpOptions?));
All Log Methods
/**
* Log exception instance as dumped string into exceptions.log|exceptions.html file. It stores:
* - exception type
* - exception message
* - if exception has been caught or not caught
* - exception hash id
* - error file where exception has been thrown
* - thread call stack
* All inner exceptions after this exception in the same way.
*/
Desharp.Debug.Log(Exception exception = null);
/**
* Log any type value to application *.log|*.html file, specified by level param.
*/
Desharp.Debug.Log(object obj = null, Level level = Level.INFO, int maxDepth = 0, int maxLength = 0);
All Other Methods
/**
* Print to application output or log into file (if enabled) first param to be true
* or not and describe what was equal or not in first param by second param message.
*/
Desharp.Debug.Assert(bool assertion, string description = "", Level logLevel = Level.DEBUG);
/**
* Configure Desharp assembly from running application environment and override
* any XML config settings or automatically detected settings.
*/
Desharp.Debug.Configure(DebugConfig cfg);
/**
* Enable or disable variables dumping from application code environment for all threads
* or get enabled/disabled Desharp dumping state if no boolean param provided.
*/
Desharp.Debug.Enabled(bool? enabled = default(bool?));
/**
* Return last uncaught Exception in request, mostly used in web applications by
* error page rendering process to know something about Exception before.
*/
Desharp.Debug.GetLastError();
/**
* Return spent request processing time for web applications or return application
* up time for all other platforms.
*/
Desharp.Debug.GetProcessingTime();
/**
* Print current thread stack trace into application output and exit running application.
* In web applications - stop current request, in any other applications - stop application
* with all it's threads and exit.
*/
Desharp.Debug.Stop();
/**
* Prints to output or into log file number of seconds from last timer call under
* called name in seconds with 3 floating point decimal spaces.
* If no name specified or name is empty string, there is returned:
* Web applications - number of seconds from request beginning.
* Desktop applications - number of seconds from application start.
*/
Desharp.Debug.Timer(string name = null, bool returnTimerSeconds = false, Level logLevel = Level.DEBUG);
Product | Versions |
---|---|
.NET Framework | net40 net403 net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 net481 |
This package has no dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Desharp:
Package | Downloads |
---|---|
MvcCore
MvcCore - C# MVC Extensible Framework based on MvcCore PHP library. |
|
FalkonryClient
C# ADK for integrating with Falkonry's condition prediction APIs |
|
DbSharp
C#/VB.NET database utility to comfortly write pure Microsoft SQL/MySQL queries and load them into typed classes and collections. |
|
Desharp.Tests
Desharp - dumping, logging and exceptions rendering tests. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.3.0.3 | 2,885 | 9/26/2019 |
1.3.0.2 | 480 | 9/26/2019 |
1.3.0.1 | 494 | 9/26/2019 |
1.3.0 | 830 | 9/25/2019 |
1.2.15 | 444 | 9/20/2019 |
1.2.12 | 8,467 | 1/18/2019 |
1.2.11 | 6,720 | 12/11/2017 |
1.2.9 | 1,402 | 11/28/2017 |
1.2.8 | 1,161 | 11/7/2017 |
1.2.4 | 4,463 | 6/14/2017 |
1.2.3 | 947 | 6/12/2017 |
1.1.6 | 873 | 6/5/2017 |
1.1.5 | 1,033 | 6/4/2017 |
1.0.1 | 1,058 | 3/26/2017 |
1.0.0 | 899 | 3/23/2017 |