代码之家  ›  专栏  ›  技术社区  ›  ljs TheVillageIdiot

如何在没有Visual Studio的情况下调试.NET应用程序

  •  18
  • ljs TheVillageIdiot  · 技术社区  · 15 年前

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

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

    注意以下几点:

    • 从另一台计算机上运行visual studio是不好的,因为问题实际上就在盒子上;这是一个第一级的heisenbug。
    • 我知道windbg是一个选项,但是我需要尽快完成,不幸的是,我认为充分学习windbg所花费的时间将超过我所花费的时间,但是如果有人对此有分步指导,我会感兴趣的。
    • 我有完全的管理权限,可以安装任何不太大的东西(安装vs的问题是硬盘空间不足)。

    谢谢!

    3 回复  |  直到 15 年前
        1
  •  12
  •   Sam Saffron James Allen    15 年前

    你有没有 look at MDBG ?你可能需要一段时间才能走动,但相当直接。

    阿尔索 DbgClr 可能是一个选项,我想它应该还在sdk的某个地方。

        2
  •  8
  •   Brian Rasmussen    15 年前

    如果有崩溃转储,使用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 取而代之的是选择。

        3
  •  1
  •   pomarc    15 年前