繁体   English   中英

Debugger 将 step 转换为私有方法来跳过

[英]Debugger converts step into private method to step over

我有一个名为 MyClient 的类。 MyClient 有一个名为 GetStuff 的方法,如下所示:

public List<Stuff> GetStuff(string query) 
{
    var result = Send<Stuff>("/stuff", query)
    return Parse<Stuff>(result);  
}

当我尝试调试并步入发送和/或解析时,我收到一条消息,我的步入操作已转换为步过。 很像这个问题。

但是, SendParse不是属性。 它们是我可以成功调试的同一类中的私有方法。 我在工具 -> 调试 -> 常规中禁用了跳过属性的设置,但它仍然跳过它。 事实上,即使我不尝试进入 Send,而只是继续我在 Parse 行的下一个断点,它也会立即跳出 GetStuff。 我无法查看中间结果。

我认为关键的一件事是 MyClient 引用 System.Web.Http 5.2.3.0 并使用它来发出请求。 我在使用 System.Web.Http 4.0.0.0 的解决方案中使用包含 MyClient 的项目作为 git 子模块。 我通过创建一个明确的参考来解决这个冲突,以在我的 Web.config 中找到 5.2.3.0 的位置,如 burtons answer 所示。 我这样做是因为正确升级会启动一个需要很长时间才能修复的死亡链。 我稍后会这样做,但现在它不是一个选择。

我正在使用 VS2015。

任何帮助将不胜感激,因为我完全陷入困境并且无法调试我自己的代码。 提前致谢!

我相信我已经找到了原因。 尝试加载 System.Web.Http 时出现FileLoadException 这发生在调用Send而不是在方法本身内。 此外,我对何时停止异常的设置不正确,因此看起来调试器只是跳过了该方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM