我的 .net 4 asp.net 应用程序正在处理请求,但请求超时,因此我获取转储并尝试在线调试实时应用程序(修订版:仅分析转储文件,而不附加到应用程序的实时进程.)。我发现一个线程消耗请求花费1分5秒。
我浏览该线程的堆栈。我想尝试找出参数和局部变量,但命令输出显示没有数据,只有部分局部变量有值。我可以知道为什么会这样吗?方法“FilterEntity”调用“Concat”,不返回“Concat”。所以我假设“FilterEntity”的当地人一定在那里。我哪里错了?
我有源代码。我知道这段代码非常慢,因为有一个非常大的字符串,如 '...AEc3988sfdfJDelxn...' 在循环中重复与 ',' 连接。
我想找到真正的大绳子,找到根本原因的证据。
!clrstack -a:
00000000741ebe10 000007feeffa1ff0 System.String.Concat(System.String, System.String, System.String)
PARAMETERS:
str0 = <no data>
str1 = <no data>
str2 = <no data>
LOCALS:
<no data>
<no data>
00000000741ebed0 000007ff0080e918 Business.FilterDataProcess.FilterEntity(Request, Entity)
PARAMETERS:
Request = <no data>
Entity = <no data>
LOCALS:
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
<no data>
0x00000000741ec160 = 0x000000078b27a018
<no data>
问题是您正在调试优化的代码。在这种情况下,参数和局部变量的跟踪信息不是由抖动生成的。要禁用优化以使调试更容易,请参阅以下内容:使图像更易于调试 http://msdn.microsoft.com/en-us/library/9dd8z24x%28v=vs.110%29.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)