C# gdb、mdb和软调试器之间的区别

C# gdb、mdb和软调试器之间的区别,c#,debugging,mono,C#,Debugging,Mono,Mono支持三种不同的调试器Gdb、mdb(Mono调试器)和Mono软调试器。我想知道他们之间的区别是什么 对于调试C#应用程序,哪个更好 编辑 在Linux上,我主要使用MonoDevelop;在Windows上,对于小型应用程序,我使用MonoDevelop或SharpDevelop;对于大型应用程序,我使用Visual Studio。 是gnu调试器,它已经并且是一个非常好的调试器 已知的VersionTLE调试器,但对C#调试没有多大帮助,除非您希望调试mono运行时本身的某些部分 是

Mono支持三种不同的调试器Gdb、mdb(Mono调试器)和Mono软调试器。我想知道他们之间的区别是什么

对于调试C#应用程序,哪个更好

编辑

在Linux上,我主要使用MonoDevelop;在Windows上,对于小型应用程序,我使用MonoDevelop或SharpDevelop;对于大型应用程序,我使用Visual Studio。

  • 是gnu调试器,它已经并且是一个非常好的调试器 已知的VersionTLE调试器,但对C#调试没有多大帮助,除非您希望调试mono运行时本身的某些部分

  • 是mono命令行调试器,也就是它可以使用的“硬调试器” 调试托管和非托管代码

  • 是现在用户首选的新调试器 monodevelop,它可以调试远程目标(如android或iphone) 应用程序),但无法单步执行非托管代码

较新版本的monodevelop支持C/C++程序的gdb和.Net程序的软调试器


在linux上,您几乎总是会发现在monodevelop中进行调试是最简单、最快速的,因此在进行调试时,您将使用软调试器。如果您使用的是windows,您当然可以安装mono和monodevelop,但也可以在sharpdevelop或visual studio中添加使用microsoft调试器的选项。

我的第一个问题是,您是使用VisualStudio开发.NET应用程序,还是使用第三方工具或编辑器编写代码……?主要使用monodevelop作为工作平台Windows和Linux。现在是MonoDevelop for Windows或Ubuntu/Linux等。只是一个补充:mdb被弃用而支持软调试器,没有人再使用它了(它从来没有工作得很好)。我觉得很遗憾Mono重新发明了轮子,而不是在gdb中添加和维护后端。gdb有不同的前端和许多特性。