调试已构建的C#应用​​程序

时间:2012-02-26 21:19:55

标签: c# debugging

我有一个应用程序,我做了我丢失了源代码,但该应用程序已在我的Win 2K计算机上工作。现在,当移动到Windows 7计算机时,它将无法启动。可能有些依赖需要解决,但我不知道哪个。我得到的唯一错误是没有进一步说明的System.InvalidOperation

是否有任何工具(免费)可用于获取有关内容的更具体信息

5 个答案:

答案 0 :(得分:1)

我不确定如何调试应用程序,但这是另一个想法。

有一个名为“反射器”的工具,它允许您查看.NET dll或可执行文件。 它们基本上反过来编译器将dll / exe转换为源代码(现在它不完全是你编写的代码,例如一些局部变量可能已经改变了它们的名称,有些东西可能已被优化,但最终结果是一样的,因为这个反映的代码来自相同的dll / exe。)

现在您可以获取此输出并使用它来重建然后调试您的应用程序。

以下是一些工具:

  1. dotPeek - 免费
  2. .NET Reflector - 不免费
  3. 我知道dotPeek不允许你在里面调试,所以你必须重建你的应用程序。另一个似乎可以用最昂贵的许可证来做到这一点。祝你好运!

答案 1 :(得分:1)

您还可以使用Microsoft的Microsoft调试工具(WinDbg)。这是article,可以帮助您。

答案 2 :(得分:0)

http://www.dependencywalker.com/会告诉您依赖项和遗漏项。

此外,您可以附加visual studio,或者让visual studio在没有源代码的情况下以调试模式启动exe。

答案 3 :(得分:0)

  • 我的第一次尝试就是依赖沃克只是为了确保你没有 缺少一些原生代码

  • 然后我会试着将程序附加到视觉上 工作室。

  • 我的下一步是使用像反射器这样的东西来获得一些 源代码的版本。

答案 4 :(得分:0)

regate的reflector的专业版让你在没有源代码的情况下调试现有的dll,花费138美元。

Ilspy会让您免费查看来源,也许您可​​以从中找到答案。

Rgds Gert-JAn