相关疑难解决方法(0)

为什么条件断点会在调试时降低应用程序执行速度?

当我在VS2005中使用条件断点而不是使用临时代码来检查特定条件时,我注意到它需要更多时间并且执行速度会降低!! 你知道为什么吗?以及如何解决这个问题?

〔实施例:

    int sequence = atoi(m_SequenceNumber.GetAscii());
    if( sequence == 392914)//temporary code to check to step into code
    {
        int x = 0;//I put breakpoint here
    }
Run Code Online (Sandbox Code Playgroud)

之前的代码将比我使用条件断点(sequence == 392914)更快地执行

debugging conditional-breakpoint visual-studio

7
推荐指数
1
解决办法
1414
查看次数

条件断点在Visual Studio 2015中不起作用

我在Visual Studio 2015中调试C#代码时遇到问题。

我想在断点中添加一个简单的表达式,

所以我加hierarchyRelation != null了条件。那是我正在调试的方法的局部变量,它存在。

但是,在运行时,出现以下错误

“断点的条件无法执行。条件是“ hierarchyRelation!= null”。返回的错误是“断点条件必须评估为布尔运算”。单击“确定”以在此断点处停止。

实际上,条件更为复杂,但这是重现该问题的最简单的情况。我尝试了变体,甚至比较了此变量的属性,但总是失败相同。

如果我尝试一个恒定的条件,喜欢1 != 21 = 1它工作正常。有什么问题吗?我发现的最接近的相关问题是这个,但确实存在vb code。解决方案是直接在代码中添加调试方法。尽管我可以做到,但是我想知道为什么这不起作用。

方法代码

private HierarchyNodeDto GetNodeTreeThatContainsText<TRollup, TLeaf, THierarchyRelation>(HierarchyNodeDto root, string text, PreFilter preFilter, Func<TLeaf, bool> leafContainsTextFunc, bool parentContainsText) where TRollup: HierarchyNodeDto where TLeaf: HierarchyNodeDto {
            dynamic rootNode = root as TRollup;
            if (rootNode != null) {
                if (rootNode.Nodes == null) {
                    return null;
                }
                var childNodesWithText = new List<THierarchyRelation>();
                foreach (var hierarchyRelation in rootNode.Nodes) …
Run Code Online (Sandbox Code Playgroud)

c# debugging visual-studio-debugging visual-studio-2015

5
推荐指数
2
解决办法
2283
查看次数