├── .gitignore ├── .nuget ├── NuGet.Config ├── NuGet.exe └── NuGet.targets ├── .travis.yml ├── CHANGELOG.md ├── Destinations └── NBug.Destinations.AzureBlobStorage │ ├── AzureBlobStorage.cs │ ├── AzureBlobStorageFactory.cs │ ├── NBug.Destinations.AzureBlobStorage.csproj │ ├── Properties │ └── AssemblyInfo.cs │ ├── Signing.snk │ └── packages.config ├── Documentation ├── Documentation.csproj ├── chm │ └── NBug 1.1.1 Docs.chm └── html │ ├── content │ ├── blank.html │ └── getting_started.html │ ├── index.html │ └── toc.html ├── Examples ├── NBug.Examples.Console │ ├── NBug.Examples.Console.csproj │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── app.config ├── NBug.Examples.WPF │ ├── App.xaml │ ├── App.xaml.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── NBug.Examples.WPF.csproj │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ └── app.config └── NBug.Examples.WinForms │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── NBug.Examples.WinForms.csproj │ ├── Normal.Designer.cs │ ├── Normal.cs │ ├── Normal.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── app.config ├── GlobalAssemblyInfo.cs ├── LICENSE.md ├── NBug.Configurator ├── AboutBox.Designer.cs ├── AboutBox.cs ├── AboutBox.resx ├── CustomPreviewForm.Designer.cs ├── CustomPreviewForm.cs ├── CustomPreviewForm.resx ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── NBug.Configurator.csproj ├── PreviewForm.Designer.cs ├── PreviewForm.cs ├── PreviewForm.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── SubmitPanels │ ├── Custom │ │ ├── Custom.Designer.cs │ │ ├── Custom.cs │ │ └── Custom.resx │ ├── ISubmitPanel.cs │ ├── PanelLoader.Designer.cs │ ├── PanelLoader.cs │ ├── PanelLoader.resx │ ├── Tracker │ │ ├── Mantis.Designer.cs │ │ ├── Mantis.cs │ │ ├── Mantis.resx │ │ ├── Redmine.Designer.cs │ │ ├── Redmine.cs │ │ └── Redmine.resx │ └── Web │ │ ├── Ftp.Designer.cs │ │ ├── Ftp.cs │ │ ├── Ftp.resx │ │ ├── Http.Designer.cs │ │ ├── Http.cs │ │ ├── Http.resx │ │ ├── Mail.Designer.cs │ │ ├── Mail.cs │ │ └── Mail.resx ├── app.config └── resources │ ├── AboutBox.png │ ├── Icon.png │ ├── Icon_16.png │ ├── help.png │ ├── run.png │ └── save.png ├── NBug.Tests ├── Functional │ ├── DeveloperUITests.cs │ ├── SettingsUITests.cs │ └── WinFormsUITests.cs ├── Integration │ ├── BugReportTests.cs │ ├── DispatcherTests.cs │ ├── HandlerTests.cs │ └── SettingsTests.cs ├── NBug.Tests.csproj ├── Properties │ └── AssemblyInfo.cs ├── Tools │ ├── Extensions │ │ └── UIAttribute.cs │ ├── Fixtures │ │ ├── ReportFixture.cs │ │ ├── SettingsFixture.cs │ │ └── UIFixture.cs │ └── Stubs │ │ ├── DummyArgumentException.cs │ │ └── DummySerializableException.cs ├── Unit │ ├── BugReportTests.cs │ └── Helpers │ │ └── EmailDestinationBuilderTests.cs └── packages.config ├── NBug.sln ├── NBug ├── Core │ ├── Reporting │ │ ├── BugReport.cs │ │ ├── Feedback.cs │ │ ├── Info │ │ │ ├── AssemblyInfo.cs │ │ │ ├── ConfigurationInfo.cs │ │ │ ├── GeneralInfo.cs │ │ │ ├── Report.cs │ │ │ └── SystemInfo.cs │ │ └── MiniDump │ │ │ ├── DumpTypeFlag.cs │ │ │ ├── DumpWriter.cs │ │ │ └── ExceptionFilters.cs │ ├── Submission │ │ ├── Custom │ │ │ └── Custom.cs │ │ ├── Database │ │ │ ├── Ado.cs │ │ │ ├── MsSql.cs │ │ │ └── MySql.cs │ │ ├── Dispatcher.cs │ │ ├── IProtocol.cs │ │ ├── IProtocolFactory.cs │ │ ├── ProtocolBase.cs │ │ ├── Protocols.cs │ │ ├── Tracker │ │ │ ├── BugNet.cs │ │ │ ├── Bugzilla.cs │ │ │ ├── GitHub.cs │ │ │ ├── GoogleCode.cs │ │ │ ├── Mantis │ │ │ │ ├── AccountData.cs │ │ │ │ ├── AttachmentData.cs │ │ │ │ ├── CustomFieldValueForIssueData.cs │ │ │ │ ├── IMantisConnectService.cs │ │ │ │ ├── IssueData.cs │ │ │ │ ├── IssueNoteData.cs │ │ │ │ ├── Mantis.cs │ │ │ │ ├── MantisConnectService.cs │ │ │ │ ├── ObjectRef.cs │ │ │ │ ├── ProjectVersionData.cs │ │ │ │ ├── RelationshipData.cs │ │ │ │ ├── UserData.cs │ │ │ │ └── nusoap.php.patch │ │ │ ├── Redmine.cs │ │ │ └── Trac.cs │ │ └── Web │ │ │ ├── Ftp.cs │ │ │ ├── Http.cs │ │ │ └── Mail.cs │ ├── UI │ │ ├── Console │ │ │ └── ConsoleUI.cs │ │ ├── Custom │ │ │ └── CustomUI.cs │ │ ├── Developer │ │ │ ├── InternalExceptionViewer.Designer.cs │ │ │ ├── InternalExceptionViewer.cs │ │ │ ├── InternalExceptionViewer.resx │ │ │ ├── InternalLogViewer.Designer.cs │ │ │ ├── InternalLogViewer.cs │ │ │ └── InternalLogViewer.resx │ │ ├── UIDialogResult.cs │ │ ├── UISelector.cs │ │ ├── WPF │ │ │ └── WPFUI.cs │ │ └── WinForms │ │ │ ├── Feedback.Designer.cs │ │ │ ├── Feedback.cs │ │ │ ├── Feedback.resx │ │ │ ├── Full.Designer.cs │ │ │ ├── Full.cs │ │ │ ├── Full.resx │ │ │ ├── Minimal.cs │ │ │ ├── Normal.Designer.cs │ │ │ ├── Normal.cs │ │ │ ├── Normal.resx │ │ │ ├── Panels │ │ │ ├── ExceptionDetailView.Designer.cs │ │ │ ├── ExceptionDetailView.cs │ │ │ ├── ExceptionDetailView.resx │ │ │ ├── ExceptionDetails.Designer.cs │ │ │ ├── ExceptionDetails.cs │ │ │ └── ExceptionDetails.resx │ │ │ └── WinFormsUI.cs │ └── Util │ │ ├── ConnectionStringParser.cs │ │ ├── ExceptionThread.cs │ │ ├── Exceptions │ │ ├── NBugConfigurationException.cs │ │ ├── NBugException.cs │ │ └── NBugRuntimeException.cs │ │ ├── Logging │ │ └── Logger.cs │ │ ├── ProtectedConfiguration.cs │ │ ├── PublicResources.cs │ │ ├── Serialization │ │ ├── SerializableDictionary.cs │ │ └── SerializableException.cs │ │ ├── Storage │ │ ├── FileMask.cs │ │ ├── StoragePath.cs │ │ ├── StoredItemFile.cs │ │ ├── Storer.cs │ │ └── ZipStorer.cs │ │ └── Web │ │ └── StreamUpload.cs ├── Enums │ ├── LoggerCategory.cs │ ├── MiniDumpType.cs │ ├── StoragePath.cs │ ├── UIMode.cs │ └── UIProvider.cs ├── Events │ ├── CustomSubmissionEventArgs.cs │ └── CustomUIEventArgs.cs ├── Exceptions.cs ├── Handler.cs ├── Helpers │ └── EmailDestinationBuilder.cs ├── NBug.csproj ├── Properties │ ├── AssemblyInfo.cs │ ├── Localization.Designer.cs │ ├── Localization.de.Designer.cs │ ├── Localization.de.resx │ ├── Localization.es-MX.Designer.cs │ ├── Localization.es-MX.resx │ ├── Localization.fi-FI.Designer.cs │ ├── Localization.fi-FI.resx │ ├── Localization.hr.Designer.cs │ ├── Localization.hr.resx │ ├── Localization.ja.Designer.cs │ ├── Localization.ja.resx │ ├── Localization.ko-KR.Designer.cs │ ├── Localization.ko-KR.resx │ ├── Localization.nl.Designer.cs │ ├── Localization.nl.resx │ ├── Localization.pl-PL.Designer.cs │ ├── Localization.pl-PL.resx │ ├── Localization.pt-BR.Designer.cs │ ├── Localization.pt-BR.resx │ ├── Localization.resx │ ├── Localization.ru-RU.Designer.cs │ ├── Localization.ru-RU.resx │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ ├── Settings.settings │ └── SettingsOverride.cs ├── Settings.cs ├── app.config └── resources │ ├── Error_16.png │ ├── Feedback.png │ ├── Forum_16.png │ ├── Help_16.png │ ├── NBug_Icon_PNG_16.png │ ├── NBug_icon_16.ico │ ├── NBug_icon_16_borders.ico │ ├── Send.png │ ├── VS2010_16.png │ └── icon.ico ├── README.md ├── Settings.StyleCop └── Signing.snk /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.sln.docstates 8 | 9 | # Build results 10 | 11 | [Dd]ebug*/ 12 | [Rr]elease/ 13 | 14 | build/ 15 | 16 | 17 | [Tt]est[Rr]esult 18 | [Bb]uild[Ll]og.* 19 | 20 | *_i.c 21 | *_p.c 22 | *.ilk 23 | *.meta 24 | *.obj 25 | *.pch 26 | *.pdb 27 | *.pgc 28 | *.pgd 29 | *.rsp 30 | *.sbr 31 | *.tlb 32 | *.tli 33 | *.tlh 34 | *.tmp 35 | *.vspscc 36 | *.vssscc 37 | .builds 38 | 39 | *.pidb 40 | 41 | *.log 42 | *.scc 43 | # Visual C++ cache files 44 | ipch/ 45 | *.aps 46 | *.ncb 47 | *.opensdf 48 | *.sdf 49 | 50 | # Visual Studio profiler 51 | *.psess 52 | *.vsp 53 | 54 | # Guidance Automation Toolkit 55 | *.gpState 56 | 57 | # ReSharper is a .NET coding add-in 58 | _ReSharper*/ 59 | 60 | *.[Rr]e[Ss]harper 61 | 62 | # NCrunch 63 | *.ncrunch* 64 | .*crunch*.local.xml 65 | 66 | # Installshield output folder 67 | [Ee]xpress 68 | 69 | # DocProject is a documentation generator add-in 70 | DocProject/buildhelp/ 71 | DocProject/Help/*.HxT 72 | DocProject/Help/*.HxC 73 | DocProject/Help/*.hhc 74 | DocProject/Help/*.hhk 75 | DocProject/Help/*.hhp 76 | DocProject/Help/Html2 77 | DocProject/Help/html 78 | 79 | # Click-Once directory 80 | publish 81 | 82 | # Publish Web Output 83 | *.Publish.xml 84 | 85 | # Others 86 | [Bb]in 87 | [Oo]bj 88 | sql 89 | TestResults 90 | [Tt]est[Rr]esult* 91 | *.Cache 92 | ClientBin 93 | [Ss]tyle[Cc]op.* 94 | ~$* 95 | *.dbmdl 96 | 97 | *.[Pp]ublish.xml 98 | 99 | Generated_Code #added for RIA/Silverlight projects 100 | 101 | # Backup & report files from converting an old project file to a newer 102 | # Visual Studio version. Backup files are not needed, because we have git ;-) 103 | _UpgradeReport_Files/ 104 | Backup*/ 105 | UpgradeLog*.XML 106 | 107 | # NuGet 108 | packages/ 109 | 110 | # MonoDevelop 111 | NBug.userprefs 112 | -------------------------------------------------------------------------------- /.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/6489e3cf4d2105fbbab1b0c7114604a49dca7b50/.nuget/NuGet.exe -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: csharp 2 | solution: NBug.sln 3 | install: 4 | - nuget restore NBug.sln 5 | - nuget install xunit.runners -Version 1.9.0.1566 -OutputDirectory testrunner 6 | script: 7 | - xbuild /p:Configuration=Release NBug.sln 8 | - mono ./testrunner/xunit.runners.1.9.0.1566/tools/xunit.console.clr4.exe ./NBug.Tests/bin/Release/NBug.Tests.dll 9 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # TBD 2 | 3 | * Ability to send bug reports immediately. 4 | * Improve ability to attach extra files to bug report. 5 | * Now builds on Mono. 6 | * Handle invalid/corrupt report files gracefully. 7 | * Exception report sent to the developer is always in English rather than user's language. 8 | 9 | # 1.2.2 10 | 11 | *November 16, 2013* 12 | 13 | * More elaborate fixes for serialization problems. 14 | * Fixes for memory dump issues. 15 | 16 | # 1.2.1 17 | 18 | *November 13, 2013* 19 | 20 | * Fix for exception serialization bug. 21 | 22 | # 1.2 23 | 24 | *November 9, 2013* 25 | 26 | * Bug fixes for Web apps. 27 | * Added more localizations. 28 | * Custom error reporting and attachments are now possible. 29 | 30 | # 1.1 31 | 32 | *July 2, 2011* 33 | 34 | * Tons of bug fixes and stability improvements. Library is rock solid now and is in production with some great apps. 35 | * Added exception filters. 36 | 37 | # 1.0 38 | 39 | *March 1, 2011* 40 | 41 | * Initial release of NBug. 42 | -------------------------------------------------------------------------------- /Destinations/NBug.Destinations.AzureBlobStorage/AzureBlobStorage.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Destinations.AzureBlobStorage 8 | { 9 | using System; 10 | using System.IO; 11 | 12 | using Microsoft.WindowsAzure.Storage.Auth; 13 | using Microsoft.WindowsAzure.Storage.Blob; 14 | 15 | using NBug.Core.Reporting.Info; 16 | using NBug.Core.Submission; 17 | using NBug.Core.Util.Serialization; 18 | 19 | public class AzureBlobStorage : ProtocolBase 20 | { 21 | public AzureBlobStorage(string connectionString) 22 | : base(connectionString) 23 | { 24 | } 25 | 26 | public string AccountName { get; set; } 27 | 28 | public string ContainerName { get; set; } 29 | 30 | public string SharedAccessSignature { get; set; } 31 | 32 | // Connection string format (single line) 33 | // Warning: There should be no semicolon (;) or equals sign (=) used in any field except for password. 34 | // Warning: No field value value should contain the phrase 'password=' 35 | // Note: SharedAccessUrl must be Uri.EscapeDataString()'ed 36 | 37 | /* Type=AzureBlobStorage; 38 | * AccountName=youraccountname; 39 | * ContainerName=yourcontainername; 40 | * SharedAccessSignature=sr%3Dc%26si%3D16dacb22-asdf-asdf-asdf-e58fasdff3ed%26se%3D2098-12-31T23%253A00%253A00Z%26sig%3asdfIWtlasdfb98q0Kidp%252BasdffJcRm1ulFIjyks4E%253D 41 | */ 42 | public override bool Send(string fileName, Stream file, Report report, SerializableException exception) 43 | { 44 | var cred = new StorageCredentials(Uri.UnescapeDataString(this.SharedAccessSignature)); 45 | 46 | var blobUrl = new Uri(string.Format("https://{0}.blob.core.windows.net/{1}", this.AccountName, this.ContainerName)); 47 | var container = new CloudBlobContainer(blobUrl, cred); 48 | 49 | var blob = container.GetBlockBlobReference(fileName); 50 | 51 | file.Position = 0; 52 | blob.UploadFromStream(file); 53 | return true; 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /Destinations/NBug.Destinations.AzureBlobStorage/AzureBlobStorageFactory.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Destinations.AzureBlobStorage 8 | { 9 | using NBug.Core.Submission; 10 | 11 | public class AzureBlobStorageFactory : IProtocolFactory 12 | { 13 | public string SupportedType 14 | { 15 | get 16 | { 17 | return "AzureBlobStorage"; 18 | } 19 | } 20 | 21 | public IProtocol FromConnectionString(string connectionString) 22 | { 23 | return new AzureBlobStorage(connectionString); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /Destinations/NBug.Destinations.AzureBlobStorage/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | 8 | 9 | using System.Reflection; 10 | using System.Runtime.InteropServices; 11 | 12 | // General Information about an assembly is controlled through the following 13 | // set of attributes. Change these attribute values to modify the information 14 | // associated with an assembly. 15 | [assembly: AssemblyTitle("NBug.Destinations.AzureBlobStorage")] 16 | [assembly: AssemblyDescription("")] 17 | [assembly: AssemblyConfiguration("")] 18 | [assembly: AssemblyCompany("")] 19 | [assembly: AssemblyProduct("NBug.Destinations.AzureBlobStorage")] 20 | [assembly: AssemblyCopyright("Copyright © 2013")] 21 | [assembly: AssemblyTrademark("")] 22 | [assembly: AssemblyCulture("")] 23 | 24 | // Setting ComVisible to false makes the types in this assembly not visible 25 | // to COM components. If you need to access a type in this assembly from 26 | // COM, set the ComVisible attribute to true on that type. 27 | [assembly: ComVisible(false)] 28 | 29 | // The following GUID is for the ID of the typelib if this project is exposed to COM 30 | [assembly: Guid("76a52bbd-f3e7-4a18-9ca8-f506e6e4e9c4")] 31 | 32 | // Version information for an assembly consists of the following four values: 33 | // Major Version 34 | // Minor Version 35 | // Build Number 36 | // Revision 37 | // You can specify all the values or you can default the Build and Revision Numbers 38 | // by using the '*' as shown below: 39 | // [assembly: AssemblyVersion("1.0.*")] 40 | [assembly: AssemblyVersion("1.0.0.0")] 41 | [assembly: AssemblyFileVersion("1.0.0.0")] -------------------------------------------------------------------------------- /Destinations/NBug.Destinations.AzureBlobStorage/Signing.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/6489e3cf4d2105fbbab1b0c7114604a49dca7b50/Destinations/NBug.Destinations.AzureBlobStorage/Signing.snk -------------------------------------------------------------------------------- /Destinations/NBug.Destinations.AzureBlobStorage/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Documentation/chm/NBug 1.1.1 Docs.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/6489e3cf4d2105fbbab1b0c7114604a49dca7b50/Documentation/chm/NBug 1.1.1 Docs.chm -------------------------------------------------------------------------------- /Documentation/html/content/blank.html: -------------------------------------------------------------------------------- 1 | 

-------------------------------------------------------------------------------- /Documentation/html/content/getting_started.html: -------------------------------------------------------------------------------- 1 | 

-------------------------------------------------------------------------------- /Documentation/html/index.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | NBug Documentation 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Documentation/html/toc.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Untitled Page 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Examples/NBug.Examples.Console/Program.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Examples.Console 8 | { 9 | using System; 10 | using System.IO; 11 | using System.Threading.Tasks; 12 | 13 | using NBug.Properties; 14 | 15 | public class Program 16 | { 17 | public static void Main(string[] args) 18 | { 19 | // Check to see if test application is initialized by the configurator tool 20 | if (args.Length > 0) 21 | { 22 | var stream = new FileStream(args[0], FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 23 | SettingsOverride.LoadCustomSettings(stream); 24 | } 25 | 26 | // Sample NBug configuration for console applications 27 | AppDomain.CurrentDomain.UnhandledException += Handler.UnhandledException; 28 | TaskScheduler.UnobservedTaskException += Handler.UnobservedTaskException; 29 | 30 | Console.WriteLine("NBug now auto-handles: AppDomain.CurrentDomain.UnhandledException"); 31 | Console.WriteLine("NBug now auto-handles: Threading.Tasks.TaskScheduler.UnobservedTaskException"); 32 | Console.WriteLine(Environment.NewLine); 33 | Console.Write("Generate a System.Exception (y/n): "); 34 | 35 | if (Console.ReadKey().Key == ConsoleKey.Y) 36 | { 37 | throw new Exception("This is an exception thrown from NBug console sample application."); 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Examples/NBug.Examples.Console/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | 8 | 9 | using System.Reflection; 10 | using System.Runtime.InteropServices; 11 | 12 | // General Information about an assembly is controlled through the following 13 | // set of attributes. Change these attribute values to modify the information 14 | // associated with an assembly. 15 | [assembly: AssemblyTitle("NBug.Examples.Console")] 16 | [assembly: AssemblyDescription("NBug Console Sample Application created by Teoman Soygul.")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [assembly: ComVisible(false)] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [assembly: Guid("9e72b2e3-590a-4ffe-8de5-ffa37efc9dd6")] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // Major Version 29 | // Minor Version 30 | // Build Number 31 | // Revision 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] -------------------------------------------------------------------------------- /Examples/NBug.Examples.Console/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Examples/NBug.Examples.WPF/App.xaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Examples/NBug.Examples.WPF/App.xaml.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Examples.WPF 8 | { 9 | using System; 10 | using System.IO; 11 | using System.Linq; 12 | using System.Threading.Tasks; 13 | using System.Windows; 14 | 15 | using NBug.Properties; 16 | 17 | /// 18 | /// Interaction logic for App.xaml 19 | /// 20 | public partial class App : Application 21 | { 22 | public App() 23 | { 24 | // Check to see if test application is initialized by the configurator tool 25 | if (Environment.GetCommandLineArgs().Count() > 1) 26 | { 27 | var stream = new FileStream(Environment.GetCommandLineArgs()[1], FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 28 | SettingsOverride.LoadCustomSettings(stream); 29 | } 30 | 31 | // For demonstrational purposes only, normally this should be left with it's default value as false! 32 | Settings.HandleProcessCorruptedStateExceptions = true; 33 | 34 | // Sample NBug configuration for WPF applications 35 | AppDomain.CurrentDomain.UnhandledException += Handler.UnhandledException; 36 | Current.DispatcherUnhandledException += Handler.DispatcherUnhandledException; 37 | TaskScheduler.UnobservedTaskException += Handler.UnobservedTaskException; 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Examples/NBug.Examples.WPF/MainWindow.xaml: -------------------------------------------------------------------------------- 1 |  5 | 6 |