【问题标题】:How to debug .net exe in the client side?如何在客户端调试.net exe?
【发布时间】:2012-07-25 17:30:01
【问题描述】:

我在客户端机器上安装了一个 .net exe,它抛出了一个异常..那么如何调试并找到确切的错误..

请注意 1-这不是远程调试.. 2-我没有要检查的日志文件,机器是 Windows 7..

请告诉我这是否可行?

根据 cmets: 正如我已经说过的,我没有要验证的日志文件,也没有任何堆栈竞赛。

所以其他人知道如何找到确切的错误..????

【问题讨论】:

  • 假设错误只发生在客户端的计算机上,您要么需要将一些日志记录到您的可执行文件中,以便您可以了解正在发生的事情,要么安装 Visual Studio客户端的计算机并在那里执行您的调试。
  • 抛出的异常会有错误信息和堆栈跟踪。如果您没有吞下异常,您应该会看到这些信息,这将有助于找出问题所在。顺便看看stackoverflow.com/a/2299302/1221319这可能对你的情况有帮助

标签: debugging


【解决方案1】:

假设 exe 崩溃(即异常未处理),那么如果您无法在远程计算机上安装任何东西,则需要从 Windows Error Reporting 获取转储文件。

对于托管可执行文件,您应该将 WER 配置为 generate a full dump,因为小型转储可能没有足够的信息。

在您的机器上拥有此转储文件后,您可以使用 WinDbg 和 SOS extension 对其进行分析(假设您有一个与生成转储文件的 exe 匹配的 pdb 文件)

【讨论】:

    猜你喜欢
    • 2011-07-26
    • 2013-01-17
    • 2019-10-19
    • 2012-01-31
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多