【问题标题】:Debug with an incompatible Visual Studio, but with .pdb使用不兼容的 Visual Studio 进行调试,但使用 .pdb
【发布时间】:2009-03-09 09:21:35
【问题描述】:

好的,奇怪的情况:我需要调试 VSTO Office 插件。这是用 Visual Studio 2008 Professional 编写的,调试通常通过加载项目、附加到 Outlook.exe 和设置断点来完成 - 工作正常。

但我给出了一种情况,它在一台机器上无法按预期工作,但我在该机器上没有 VS2008 Pro(只有 Express 有帮助,但 express 不会加载项目,因为项目类型不受支持) ,并且没有机会使用远程调试器。

我只是想知道是否仍然可以在不加载项目的情况下对其进行调试,因为我已经“武装”了用于此目的的 .pdb 文件、源代码和 .dll。

编辑:只是为了澄清,这不是一个例外,它是一个 if/else 块,即使它不应该进入 else 块。我需要设置断点并检查一些 .net 变量,甚至可能修改它们。

【问题讨论】:

    标签: .net visual-studio debugging


    【解决方案1】:

    WinDbg 将能够做到这一点,但它并不完全是用户友好的。

    【讨论】:

    • 如何使用 WinDbd+SOS 更改托管变量的值?这是 OP 可能需要做的。
    【解决方案2】:

    另一个简单的技巧:将跟踪消息添加到您的代码 (System.Diagnostics.Trace)。您将能够使用来自 Sysinternals/MS 的DbgView 监控所有跟踪消息。

    可能无法单步执行您的代码,但这在分析没有调试器的目标系统上的问题时非常方便,例如在客户现场。

    【讨论】:

      【解决方案3】:

      如果您使用调用堆栈记录异常,那么您将获得一个行号和源文件。 如果您可以在机器上部署新代码,请在代码中添加一些额外的日志记录/跟踪。

      如果这不起作用,请使用 WinDbg 检查内存转储,并使用 SOS Debugging Extension

      编辑:Hawkeye.Net 也可能对您的情况有所帮助。

      【讨论】:

        猜你喜欢
        • 2015-06-30
        • 2018-04-04
        • 1970-01-01
        • 2014-09-11
        • 2019-10-31
        • 1970-01-01
        • 2017-11-07
        • 2017-03-19
        • 1970-01-01
        相关资源
        最近更新 更多