【问题标题】:Automatically break debugger on Debug.Assert fail在 Debug.Assert 失败时自动中断调试器
【发布时间】:2020-03-21 09:25:08
【问题描述】:

这似乎是一个愚蠢的问题,但谷歌搜索再多也不会给我答案。在 C# 中,当使用 Debug.Assert 类时,失败会导致显示 MessageBox。按“重试”转到调试器中的调用站点。有什么方法可以自动执行,即直接转到呼叫站点(每次都跳过按“重试”?)

【问题讨论】:

    标签: .net visual-studio system.diagnostics


    【解决方案1】:

    使用System.Diagnostics.Debugger.Break(); 来暂停进程的执行,就像遇到了调试器断点一样:

    void DebugAssert(bool condition)
    {
      if(!condition)
        System.Diagnostics.Debugger.Break();
    }
    

    【讨论】:

    • 如何在 Debug.Assert 失败时自动执行此操作?
    • @JeremyMorren 为什么不用 Debugger.Break 替换 Debug.Assert?
    • 因为我不希望它每次都中断,只有在 Assert 失败时才中断。
    • @JeremyMorren 要检查断言何时失败,请在我更新的答案中使用 DebugAssert 方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    相关资源
    最近更新 更多