我有一个C#项目的源代码(我不是由我编写的),我在其中一台服务器上运行。
这个程序的一个特定部分(一个菜单选项)偶尔会无声地失败,我不知道为什么只看源。 (失败的程序部分需要我的开发机器上没有的各种功能,所以我无法在自己的机器上测试它。)
我想调试这个程序,特别是逐行完成代码。由于服务器位于防火墙之外,因此远程调试功能不起作用。
除了在服务器上安装Visual Studio之外还有其他选择吗,即是否有任何运行时调试器会显示C#源代码并允许您设置断点等?
该项目是在VS 2008中编写的,目标是Framework 2.0。
答案 0 :(得分:1)
您应该能够将DbgClr用于框架2.0应用。它是SDK附带的独立图形调试器。您需要确保调试器可以使用与正在运行的应用程序版本匹配的PDB文件。
话虽这么说,如果您有任何选择在防火墙上打洞,那么您可以使用remote debugging,这可能是最简单的方法。
当然,最佳做法是设置本地环境,以便您可以重现错误并在本地进行调试;但是我可以理解是否有可能导致这种不可行的原因。
答案 1 :(得分:1)
另一种选择是将WinDbg与SOS扩展一起使用。它是一个非常轻量级的调试器,甚至不需要安装.Net框架。它在UI的方式上有很多不足之处,并且具有陡峭的学习曲线。但是一旦你掌握了WinDbg,它就是一个非常强大的调试工具。