【问题标题】:How to Debug .net applications without Visual Studio如何在没有 Visual Studio 的情况下调试 .net 应用程序
【发布时间】:2010-10-23 14:19:42
【问题描述】:

如果之前有人问过这个问题,请告诉我,我找不到关于这个主题的任何问题:-

我需要确定在安装了 .net 框架但未安装 Visual Studio 的计算机上引发的异常的内部异常(也无法在计算机上安装 Visual Studio)。如何检查这个内部异常?

注意几点:

  • 从另一台计算机上运行 Visual Studio 并不好,因为问题实际上出在盒子上;这是一等海森虫。
  • 我知道 WinDbg 是一种选择,但是我需要快速完成这项工作,不幸的是,我想充分学习 WinDbg 以完成这项工作所花费的时间将超过我所拥有的时间 - 但是,如果有人对此有分步说明我会感兴趣的。
  • 我有完整的管理员权限,可以安装任何不太大的东西(安装VS的问题是硬盘空间不足)。

谢谢!

【问题讨论】:

    标签: .net debugging remote-debugging


    【解决方案1】:

    如果您有故障转储,使用 WinDbg 执行此操作实际上相当简单。将转储加载到 WinDbg 中,加载 sos,然后运行 ​​printexception 命令。

    >.load sos
    >!printexception
    

    这将告诉您异常并指出内部异常。输出将类似于:

    0:000> !printexception
    Exception object: 0135b340
    Exception type: System.ApplicationException
    Message: GetAverage failed
    InnerException: System.IndexOutOfRangeException, use !PrintException 01358394 to see more
    <stack trace follows>
    

    如果您还没有内存转储,您可以使用 adplus(WinDbg 附带)创建一个。

    >adplus -crash -o<dump location> -quiet -pn<name of process>
    

    如果您更喜欢使用 PID,请改用 -p 选项。

    【讨论】:

    • 我真的很想学习windbg,所以我相信我会在某个时候开始学习;但是目前 mdbg 做得很好。
    • 没问题。 WinDbg 需要一些时间来适应,但一旦你习惯了它,它对于某些类型的问题确实非常强大。
    【解决方案2】:

    你有look at MDBG吗?您可能需要一段时间才能四处走动,但相当直截了当。

    另外DbgClr 可能是一个选项,我认为它仍然应该在 SDK 的某个地方。

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 发现异常被捕获,所以我需要捕获第一次机会异常,但我无法使用远程调试进行工作。
      猜你喜欢
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      • 2015-12-09
      相关资源
      最近更新 更多