├── NBug ├── Properties │ ├── Localization.de.Designer.cs │ ├── Localization.hr.Designer.cs │ ├── Localization.ja.Designer.cs │ ├── Localization.nl.Designer.cs │ ├── Localization.es-MX.Designer.cs │ ├── Localization.fi-FI.Designer.cs │ ├── Localization.ko-KR.Designer.cs │ ├── Localization.pl-PL.Designer.cs │ ├── Localization.pt-BR.Designer.cs │ ├── Localization.ru-RU.Designer.cs │ ├── AssemblyInfo.cs │ └── SettingsOverride.cs ├── resources │ ├── Send.png │ ├── icon.ico │ ├── Error_16.png │ ├── Feedback.png │ ├── Forum_16.png │ ├── Help_16.png │ ├── VS2010_16.png │ ├── NBug_icon_16.ico │ ├── NBug_Icon_PNG_16.png │ └── NBug_icon_16_borders.ico ├── Core │ ├── Submission │ │ ├── Database │ │ │ ├── Ado.cs │ │ │ ├── MsSql.cs │ │ │ └── MySql.cs │ │ ├── Tracker │ │ │ ├── GitHub.cs │ │ │ ├── Bugzilla.cs │ │ │ ├── GoogleCode.cs │ │ │ ├── Mantis │ │ │ │ ├── CustomFieldValueForIssueData.cs │ │ │ │ ├── ObjectRef.cs │ │ │ │ ├── UserData.cs │ │ │ │ ├── RelationshipData.cs │ │ │ │ ├── AccountData.cs │ │ │ │ ├── MantisConnectService.cs │ │ │ │ ├── AttachmentData.cs │ │ │ │ ├── nusoap.php.patch │ │ │ │ ├── IssueNoteData.cs │ │ │ │ └── ProjectVersionData.cs │ │ │ ├── BugNet.cs │ │ │ └── Trac.cs │ │ ├── Protocols.cs │ │ ├── IProtocolFactory.cs │ │ ├── IProtocol.cs │ │ ├── Custom │ │ │ └── Custom.cs │ │ ├── Web │ │ │ ├── Http.cs │ │ │ └── Ftp.cs │ │ └── ProtocolBase.cs │ ├── Reporting │ │ ├── Info │ │ │ ├── SystemInfo.cs │ │ │ ├── AssemblyInfo.cs │ │ │ ├── ConfigurationInfo.cs │ │ │ ├── Report.cs │ │ │ └── GeneralInfo.cs │ │ ├── Feedback.cs │ │ └── MiniDump │ │ │ └── DumpTypeFlag.cs │ ├── Util │ │ ├── ExceptionThread.cs │ │ ├── Exceptions │ │ │ ├── NBugRuntimeException.cs │ │ │ ├── NBugException.cs │ │ │ └── NBugConfigurationException.cs │ │ ├── Storage │ │ │ ├── StoredItemFile.cs │ │ │ ├── StoragePath.cs │ │ │ └── FileMask.cs │ │ ├── ConnectionStringParser.cs │ │ ├── ProtectedConfiguration.cs │ │ └── Serialization │ │ │ └── SerializableDictionary.cs │ └── UI │ │ ├── WinForms │ │ ├── Feedback.cs │ │ ├── Panels │ │ │ └── ExceptionDetailView.cs │ │ ├── Minimal.cs │ │ ├── WinFormsUI.cs │ │ ├── Normal.cs │ │ └── Full.cs │ │ ├── UIDialogResult.cs │ │ ├── Custom │ │ └── CustomUI.cs │ │ ├── WPF │ │ └── WPFUI.cs │ │ ├── Console │ │ └── ConsoleUI.cs │ │ └── Developer │ │ └── InternalLogViewer.cs ├── Enums │ ├── UIProvider.cs │ ├── MiniDumpType.cs │ ├── StoragePath.cs │ ├── LoggerCategory.cs │ └── UIMode.cs ├── Events │ ├── CustomUIEventArgs.cs │ └── CustomSubmissionEventArgs.cs ├── app.config └── Exceptions.cs ├── Documentation ├── html │ ├── content │ │ ├── blank.html │ │ └── getting_started.html │ ├── toc.html │ └── index.html └── chm │ └── NBug 1.1.1 Docs.chm ├── Signing.snk ├── .nuget ├── NuGet.exe └── NuGet.Config ├── NBug.Configurator ├── resources │ ├── run.png │ ├── Icon.png │ ├── help.png │ ├── save.png │ ├── AboutBox.png │ └── Icon_16.png ├── AboutBox.Designer.cs ├── app.config ├── Properties │ ├── Settings.settings │ ├── Settings.Designer.cs │ ├── AssemblyInfo.cs │ └── Resources.Designer.cs ├── SubmitPanels │ ├── ISubmitPanel.cs │ ├── Custom │ │ ├── Custom.cs │ │ └── Custom.Designer.cs │ ├── Web │ │ ├── Http.cs │ │ └── Ftp.cs │ └── Tracker │ │ └── Redmine.cs ├── Program.cs ├── CustomPreviewForm.cs ├── PreviewForm.cs └── PreviewForm.Designer.cs ├── Destinations └── NBug.Destinations.AzureBlobStorage │ ├── Signing.snk │ ├── packages.config │ ├── AzureBlobStorageFactory.cs │ ├── Properties │ └── AssemblyInfo.cs │ └── AzureBlobStorage.cs ├── Examples ├── NBug.Examples.WPF │ ├── app.config │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── App.xaml │ ├── MainWindow.xaml │ ├── App.xaml.cs │ └── MainWindow.xaml.cs ├── NBug.Examples.Console │ ├── app.config │ ├── Program.cs │ └── Properties │ │ └── AssemblyInfo.cs └── NBug.Examples.WinForms │ ├── app.config │ ├── Properties │ ├── Settings.settings │ ├── Settings.Designer.cs │ ├── AssemblyInfo.cs │ └── Resources.Designer.cs │ ├── Normal.cs │ ├── Program.cs │ ├── MainForm.cs │ └── MainForm.Designer.cs ├── NBug.Tests ├── packages.config ├── Tools │ ├── Extensions │ │ └── UIAttribute.cs │ ├── Fixtures │ │ ├── UIFixture.cs │ │ └── SettingsFixture.cs │ └── Stubs │ │ ├── DummySerializableException.cs │ │ └── DummyArgumentException.cs ├── Unit │ └── BugReportTests.cs ├── Integration │ ├── BugReportTests.cs │ └── HandlerTests.cs ├── Functional │ ├── WinFormsUITests.cs │ └── DeveloperUITests.cs └── Properties │ └── AssemblyInfo.cs ├── .travis.yml ├── Settings.StyleCop ├── CHANGELOG.md ├── LICENSE.md ├── .gitignore ├── README.md └── GlobalAssemblyInfo.cs /NBug/Properties/Localization.de.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /NBug/Properties/Localization.hr.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /NBug/Properties/Localization.ja.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /NBug/Properties/Localization.nl.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Documentation/html/content/blank.html: -------------------------------------------------------------------------------- 1 |

-------------------------------------------------------------------------------- /NBug/Properties/Localization.es-MX.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /NBug/Properties/Localization.fi-FI.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /NBug/Properties/Localization.ko-KR.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /NBug/Properties/Localization.pl-PL.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /NBug/Properties/Localization.pt-BR.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /NBug/Properties/Localization.ru-RU.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Documentation/html/content/getting_started.html: -------------------------------------------------------------------------------- 1 |

-------------------------------------------------------------------------------- /Signing.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/Signing.snk -------------------------------------------------------------------------------- /.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/.nuget/NuGet.exe -------------------------------------------------------------------------------- /NBug/resources/Send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug/resources/Send.png -------------------------------------------------------------------------------- /NBug/resources/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug/resources/icon.ico -------------------------------------------------------------------------------- /NBug/resources/Error_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug/resources/Error_16.png -------------------------------------------------------------------------------- /NBug/resources/Feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug/resources/Feedback.png -------------------------------------------------------------------------------- /NBug/resources/Forum_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug/resources/Forum_16.png -------------------------------------------------------------------------------- /NBug/resources/Help_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug/resources/Help_16.png -------------------------------------------------------------------------------- /NBug/resources/VS2010_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug/resources/VS2010_16.png -------------------------------------------------------------------------------- /NBug/resources/NBug_icon_16.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug/resources/NBug_icon_16.ico -------------------------------------------------------------------------------- /NBug.Configurator/resources/run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug.Configurator/resources/run.png -------------------------------------------------------------------------------- /NBug/resources/NBug_Icon_PNG_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug/resources/NBug_Icon_PNG_16.png -------------------------------------------------------------------------------- /Documentation/chm/NBug 1.1.1 Docs.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/Documentation/chm/NBug 1.1.1 Docs.chm -------------------------------------------------------------------------------- /NBug.Configurator/AboutBox.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug.Configurator/AboutBox.Designer.cs -------------------------------------------------------------------------------- /NBug.Configurator/resources/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug.Configurator/resources/Icon.png -------------------------------------------------------------------------------- /NBug.Configurator/resources/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug.Configurator/resources/help.png -------------------------------------------------------------------------------- /NBug.Configurator/resources/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug.Configurator/resources/save.png -------------------------------------------------------------------------------- /NBug.Configurator/resources/AboutBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug.Configurator/resources/AboutBox.png -------------------------------------------------------------------------------- /NBug.Configurator/resources/Icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug.Configurator/resources/Icon_16.png -------------------------------------------------------------------------------- /NBug/resources/NBug_icon_16_borders.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/NBug/resources/NBug_icon_16_borders.ico -------------------------------------------------------------------------------- /Destinations/NBug.Destinations.AzureBlobStorage/Signing.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soygul/NBug/HEAD/Destinations/NBug.Destinations.AzureBlobStorage/Signing.snk -------------------------------------------------------------------------------- /.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /NBug.Configurator/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Examples/NBug.Examples.WPF/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Examples/NBug.Examples.Console/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Examples/NBug.Examples.WinForms/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Examples/NBug.Examples.WPF/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Examples/NBug.Examples.WinForms/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Documentation/html/toc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Untitled Page 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Documentation/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | NBug Documentation 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /NBug.Configurator/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /NBug.Tests/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /Examples/NBug.Examples.WPF/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Settings.StyleCop: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NBug Project 6 | Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /NBug/Core/Submission/Database/Ado.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Submission.Database 8 | { 9 | internal class Ado 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /NBug/Core/Submission/Database/MsSql.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Submission.Database 8 | { 9 | internal class MsSql 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /NBug/Core/Submission/Database/MySql.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Submission.Database 8 | { 9 | internal class MySql 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /NBug/Core/Submission/Tracker/GitHub.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Submission.Tracker 8 | { 9 | internal class GitHub 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /NBug/Core/Reporting/Info/SystemInfo.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Reporting.Info 8 | { 9 | public class SystemInfo 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /NBug/Core/Submission/Tracker/Bugzilla.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Submission.Tracker 8 | { 9 | internal class Bugzilla 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /NBug/Core/Reporting/Info/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Reporting.Info 8 | { 9 | public class AssemblyInfo 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /NBug/Core/Submission/Tracker/GoogleCode.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Submission.Tracker 8 | { 9 | internal class GoogleCode 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /Destinations/NBug.Destinations.AzureBlobStorage/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /NBug/Core/Reporting/Info/ConfigurationInfo.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Reporting.Info 8 | { 9 | public class ConfigurationInfo 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /NBug.Configurator/SubmitPanels/ISubmitPanel.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Configurator.SubmitPanels 8 | { 9 | internal interface ISubmitPanel 10 | { 11 | string ConnectionString { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /NBug/Core/Util/ExceptionThread.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Util 8 | { 9 | internal enum ExceptionThread 10 | { 11 | Main, 12 | 13 | UI_WinForms, 14 | 15 | UI_WPF, 16 | 17 | Task 18 | } 19 | } -------------------------------------------------------------------------------- /NBug/Core/Submission/Tracker/Mantis/CustomFieldValueForIssueData.cs: -------------------------------------------------------------------------------- 1 | namespace NBug.Core.Submission.Tracker.Mantis 2 | { 3 | 4 | [System.SerializableAttribute(), System.Xml.Serialization.SoapTypeAttribute(Namespace = "http://futureware.biz/mantisconnect")] 5 | public class CustomFieldValueForIssueData 6 | { 7 | 8 | private ObjectRef fieldField; 9 | 10 | private string valueField; 11 | public ObjectRef field { 12 | get { return this.fieldField; } 13 | set { this.fieldField = value; } 14 | } 15 | 16 | public string value { 17 | get { return this.valueField; } 18 | set { this.valueField = value; } 19 | } 20 | 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /NBug/Core/Submission/Tracker/Mantis/ObjectRef.cs: -------------------------------------------------------------------------------- 1 | namespace NBug.Core.Submission.Tracker.Mantis 2 | { 3 | [System.SerializableAttribute(), System.Xml.Serialization.SoapTypeAttribute(Namespace = "http://futureware.biz/mantisconnect")] 4 | public class ObjectRef 5 | { 6 | 7 | private string idField; 8 | 9 | private string nameField; 10 | [System.Xml.Serialization.SoapElementAttribute(DataType = "integer")] 11 | public string id { 12 | get { return this.idField; } 13 | set { this.idField = value; } 14 | } 15 | 16 | public string name { 17 | get { return this.nameField; } 18 | set { this.nameField = value; } 19 | } 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /NBug.Tests/Tools/Extensions/UIAttribute.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Tests.Tools.Extensions 8 | { 9 | using Xunit; 10 | 11 | public class UIAttribute : TraitAttribute 12 | { 13 | public UIAttribute() 14 | : base("Category", "UI") 15 | { 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /NBug/Core/Submission/Protocols.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2010 - 2011 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Submission 8 | { 9 | // Actually enum names should be singular words! 10 | public enum Protocols 11 | { 12 | Mail, 13 | Redmine, 14 | BugNET, 15 | FTP, 16 | HTTP, 17 | AzureBlobStorage 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /NBug.Tests/Tools/Fixtures/UIFixture.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Tests.Tools.Fixtures 8 | { 9 | using System.Windows.Forms; 10 | 11 | public class UIFixture 12 | { 13 | public UIFixture() 14 | { 15 | Application.EnableVisualStyles(); 16 | Application.SetCompatibleTextRenderingDefault(false); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /NBug.Configurator/SubmitPanels/Custom/Custom.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Forms; 2 | 3 | namespace NBug.Configurator.SubmitPanels.Custom 4 | { 5 | public partial class Custom : UserControl, ISubmitPanel 6 | { 7 | public Custom() 8 | { 9 | InitializeComponent(); 10 | } 11 | 12 | 13 | public string ConnectionString 14 | { 15 | get 16 | { 17 | var custom = new Core.Submission.Custom.Custom(); 18 | return custom.ConnectionString; 19 | } 20 | 21 | set 22 | { 23 | //additional connection string parameters are not supported for Custom submission. 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /NBug/Core/UI/WinForms/Feedback.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.UI.WinForms 8 | { 9 | using System.Windows.Forms; 10 | 11 | using NBug.Properties; 12 | 13 | internal partial class Feedback : Form 14 | { 15 | public Feedback() 16 | { 17 | this.InitializeComponent(); 18 | this.Icon = Resources.NBug_icon_16; 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /NBug.Tests/Tools/Stubs/DummySerializableException.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Tests.Tools.Stubs 8 | { 9 | using NBug.Core.Util.Serialization; 10 | 11 | public class DummySerializableException : SerializableException 12 | { 13 | public DummySerializableException() 14 | : base(new DummyArgumentException()) 15 | { 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /NBug.Tests/Unit/BugReportTests.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Tests.Unit 8 | { 9 | public class BugReportTests 10 | { 11 | // "Setup", "Returns", "Verify", and "Assert.xxx" 12 | 13 | /*[Fact] 14 | public void Test() 15 | { 16 | var report = new Mock(); 17 | report.SetupProperty(x => x.General.UserDescription, "test"); 18 | Assert.True(report.Object.General.UserDescription == "test"); 19 | }*/ 20 | } 21 | } -------------------------------------------------------------------------------- /NBug/Core/Util/Exceptions/NBugRuntimeException.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Util.Exceptions 8 | { 9 | using System; 10 | 11 | [Serializable] 12 | public class NBugRuntimeException : NBugException 13 | { 14 | public NBugRuntimeException(string message, Exception inner) 15 | : base(message, inner) 16 | { 17 | } 18 | 19 | public NBugRuntimeException(string message) 20 | : base(message) 21 | { 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /NBug.Configurator/Program.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Configurator 8 | { 9 | using System; 10 | using System.Windows.Forms; 11 | 12 | public static class Program 13 | { 14 | /// 15 | /// The main entry point for the application. 16 | /// 17 | [STAThread] 18 | public static void Main() 19 | { 20 | Application.EnableVisualStyles(); 21 | Application.SetCompatibleTextRenderingDefault(false); 22 | Application.Run(new MainForm()); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /NBug/Core/Submission/Tracker/Mantis/UserData.cs: -------------------------------------------------------------------------------- 1 | namespace NBug.Core.Submission.Tracker.Mantis 2 | { 3 | [System.SerializableAttribute(), System.Xml.Serialization.SoapTypeAttribute(Namespace = "http://futureware.biz/mantisconnect")] 4 | public class UserData 5 | { 6 | 7 | private AccountData account_dataField; 8 | private string access_levelField; 9 | 10 | private string timezoneField; 11 | public AccountData account_data { 12 | get { return this.account_dataField; } 13 | set { this.account_dataField = value; } 14 | } 15 | 16 | [System.Xml.Serialization.SoapElementAttribute(DataType = "integer")] 17 | public string access_level { 18 | get { return this.access_levelField; } 19 | set { this.access_levelField = value; } 20 | } 21 | 22 | public string timezone { 23 | get { return this.timezoneField; } 24 | set { this.timezoneField = value; } 25 | } 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /NBug/Core/Submission/Tracker/Mantis/RelationshipData.cs: -------------------------------------------------------------------------------- 1 | namespace NBug.Core.Submission.Tracker.Mantis 2 | { 3 | [System.SerializableAttribute(), System.Xml.Serialization.SoapTypeAttribute(Namespace = "http://futureware.biz/mantisconnect")] 4 | public class RelationshipData 5 | { 6 | private string idField; 7 | 8 | private ObjectRef typeField; 9 | 10 | private string target_idField; 11 | [System.Xml.Serialization.SoapElementAttribute(DataType = "integer")] 12 | public string id { 13 | get { return this.idField; } 14 | set { this.idField = value; } 15 | } 16 | 17 | public ObjectRef type { 18 | get { return this.typeField; } 19 | set { this.typeField = value; } 20 | } 21 | 22 | [System.Xml.Serialization.SoapElementAttribute(DataType = "integer")] 23 | public string target_id { 24 | get { return this.target_idField; } 25 | set { this.target_idField = value; } 26 | } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /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 | } -------------------------------------------------------------------------------- /NBug/Core/Util/Storage/StoredItemFile.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Util.Storage 8 | { 9 | internal enum StoredItemType 10 | { 11 | Exception, 12 | 13 | Report, 14 | 15 | MiniDump 16 | } 17 | 18 | // This class must remain internal otherwise it should not use constant strings 19 | internal static class StoredItemFile 20 | { 21 | internal const string Exception = "Exception.xml"; 22 | 23 | internal const string MiniDump = "MiniDump.mdmp"; 24 | 25 | internal const string Report = "Report.xml"; 26 | } 27 | } -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /NBug/Core/Reporting/Feedback.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Reporting 8 | { 9 | using System; 10 | 11 | using NBug.Core.Reporting.Info; 12 | using NBug.Core.Util.Logging; 13 | 14 | internal class Feedback 15 | { 16 | private Report report; 17 | 18 | internal Feedback() 19 | { 20 | try 21 | { 22 | // ToDo: Wrap and submit the feedback using Submit.Dispatcher() 23 | this.report = new Report(null); 24 | } 25 | catch (Exception exception) 26 | { 27 | Logger.Error("An exception occurred while sending a user feedback. See the inner exception for details.", exception); 28 | } 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /NBug/Core/Submission/Tracker/Mantis/AccountData.cs: -------------------------------------------------------------------------------- 1 | namespace NBug.Core.Submission.Tracker.Mantis 2 | { 3 | 4 | [System.SerializableAttribute(), System.Diagnostics.DebuggerStepThroughAttribute(), System.Xml.Serialization.SoapTypeAttribute(Namespace = "http://futureware.biz/mantisconnect")] 5 | public class AccountData 6 | { 7 | 8 | private string idField; 9 | private string nameField; 10 | private string real_nameField; 11 | 12 | private string emailField; 13 | [System.Xml.Serialization.SoapElementAttribute(DataType = "integer")] 14 | public string id { 15 | get { return this.idField; } 16 | set { this.idField = value; } 17 | } 18 | 19 | public string name { 20 | get { return this.nameField; } 21 | set { this.nameField = value; } 22 | } 23 | 24 | public string real_name { 25 | get { return this.real_nameField; } 26 | set { this.real_nameField = value; } 27 | } 28 | 29 | public string email { 30 | get { return this.emailField; } 31 | set { this.emailField = value; } 32 | } 33 | 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /NBug/Core/Util/Exceptions/NBugException.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Util.Exceptions 8 | { 9 | using System; 10 | using System.Runtime.Serialization; 11 | 12 | [Serializable] 13 | public class NBugException : Exception 14 | { 15 | public NBugException() 16 | { 17 | } 18 | 19 | public NBugException(string message) 20 | : base(message) 21 | { 22 | } 23 | 24 | public NBugException(string message, Exception inner) 25 | : base(message, inner) 26 | { 27 | } 28 | 29 | protected NBugException(SerializationInfo info, StreamingContext context) 30 | : base(info, context) 31 | { 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /NBug/Core/Submission/Tracker/BugNet.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.Submission.Tracker 8 | { 9 | using System.IO; 10 | using System.Net; 11 | 12 | using NBug.Core.Reporting.Info; 13 | using NBug.Core.Util.Serialization; 14 | 15 | internal class BugNet : ProtocolBase 16 | { 17 | internal BugNet(string connectionString) 18 | : base(connectionString) 19 | { 20 | } 21 | 22 | internal BugNet() 23 | { 24 | } 25 | 26 | public override bool Send(string fileName, Stream file, Report report, SerializableException exception) 27 | { 28 | //HttpWebRequest request; //suppress unused Warning 29 | 30 | return true; 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /NBug/Core/UI/WinForms/Panels/ExceptionDetailView.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Core.UI.WinForms.Panels 8 | { 9 | using System; 10 | using System.Windows.Forms; 11 | 12 | internal partial class ExceptionDetailView : Form 13 | { 14 | public ExceptionDetailView() 15 | { 16 | this.InitializeComponent(); 17 | } 18 | 19 | internal void ShowDialog(string property, string info) 20 | { 21 | this.propertyTextBox.Text = property; 22 | this.propertyInformationTextBox.Text = info; 23 | this.ShowDialog(); 24 | } 25 | 26 | private void CloseButton_Click(object sender, EventArgs e) 27 | { 28 | this.Close(); 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /NBug/Core/UI/WinForms/Minimal.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | using System.Configuration; 8 | 9 | namespace NBug.Core.UI.WinForms 10 | { 11 | using System.Windows.Forms; 12 | 13 | using NBug.Core.Reporting.Info; 14 | 15 | internal class Minimal 16 | { 17 | internal UIDialogResult ShowDialog(Report report) 18 | { 19 | MessageBox.Show( 20 | new Form { TopMost = true }, 21 | Settings.Resources.UI_Dialog_Minimal_Message, 22 | report.GeneralInfo.HostApplication + " " + Properties.Localization.UI_Dialog_Minimal_Title, 23 | MessageBoxButtons.OK, 24 | MessageBoxIcon.Warning); 25 | 26 | return new UIDialogResult(ExecutionFlow.BreakExecution, SendReport.Send); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /NBug.Tests/Tools/Stubs/DummyArgumentException.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Tests.Tools.Stubs 8 | { 9 | using System; 10 | using System.Collections; 11 | using System.Collections.Generic; 12 | 13 | public class DummyArgumentException : ArgumentException 14 | { 15 | public DummyArgumentException() 16 | : base("Testing MyArgumentException.", "MyDummyParameter", new Exception("Testing inner exception for MyArgumentException.")) 17 | { 18 | } 19 | 20 | public override IDictionary Data 21 | { 22 | get 23 | { 24 | return new Dictionary { { "StringDataProperty", "Just testing the data property with a set of strings as a dictionary." } }; 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2011 Teoman Soygul and contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /NBug/Enums/UIProvider.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2011 - 2013 Teoman Soygul. Licensed under MIT license. 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace NBug.Enums 8 | { 9 | public enum UIProvider 10 | { 11 | /// 12 | /// Automatic provider selection is the default setting. 13 | /// 14 | Auto, 15 | 16 | /// 17 | /// Only the console is used to display the interface and interact with the user if necessary. 18 | /// 19 | Console, 20 | 21 | /// 22 | /// Windows Forms interface is used for all UI displayed to the user. 23 | /// 24 | WinForms, 25 | 26 | /// 27 | /// Windows Presentation Foundation interface is used for all UI displayed to the user. 28 | /// 29 | WPF, 30 | 31 | /// 32 | /// Custom UIProvider. 33 | /// 34 | Custom 35 | } 36 | } -------------------------------------------------------------------------------- /Examples/NBug.Examples.WPF/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 |