首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不同上下文中调试具有不同执行时间的问题

如何在不同上下文中调试具有不同执行时间的问题
EN

Stack Overflow用户
提问于 2010-03-17 20:24:29
回答 1查看 52关注 0票数 0

与最近的大多数其他问题相比,下面的问题似乎一直困扰着我。您建议我在尝试调试像这样的“性能问题”时,应该寻找什么样的东西呢?

好的,在查询分析器中运行这个需要<1秒

代码语言:javascript
复制
exec usp_MyAccount_Allowance_Activity '1/1/1900', null, 187128

本地调试,这需要10秒:

代码语言:javascript
复制
DataSet allowanceBalance =
    SqlHelper.ExecuteDataset(
        WebApplication.SQLConn(), 
        CommandType.StoredProcedure, 
        "usp_MyAccount_Allowance_Activity",
        Params);

等参数

EN

回答 1

Stack Overflow用户

发布于 2010-03-17 20:44:09

回答真正可怕的问题-调试器中的代码与代码中没有调试器中的代码都会引入各种Heisenbug定时问题,其中大部分是你永远不会知道的,这些问题都会给你带来麻烦。

调试器倾向于把手指放在所有可能影响性能的美味地方。

  • 调试事件。调试器在应用程序加载、执行、dll加载/卸载、关闭期间获得特殊事件。调试器将在这些事件中做它想做的任何事情。这将是slowdown.
  • Debug输出的一个来源。OutputDebugString()和所有使用它的代码(例如,.Net中的跟踪输出)突然变得活跃起来。这很慢。
  • 是HeapAlloc()函数系列,当在调试器下运行时,开始检查各种堆不一致,这会消耗更多的时间。如果打开了符号发现,则可能会出现延迟,因为各种符号服务器都会被查询符号,并在需要时下载(如果需要,您会注意到延迟)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2465596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档