Die Diagnose "Thread wurde abgebrochen." ASP.net

Ich bin erhalten einen "Thread wurde abgebrochen." in der stack-trace von meinem Asp.net -Anwendung. Ich bin attampting, um den windbg-Technik, die hier beschrieben zu diagnostizieren:
http://blogs.msdn.com/b/asiatech/archive/2012/06/21/how-to-troubleshoot-httpexception-request-timed-out-asp-net-4-0-64-bit.aspx
Jetzt bin ich nur versucht zu fangen, diese in der Probe asp.net Anwendung zur Verfügung gestellt. Ich kann das asp.net Anwendung von timeout, aber ich kann nicht den dump in dem Artikel beschrieben, zu erzeugen. Ich denke ich brauche Hilfe von windbg person zu verstehen, wohin ich gehe falsch. Ich bin auch den windbg-Einträge. Meine Ausgabe ist ein bisschen anders, aber ich kann nicht sagen, welche Adresse in der aspnet_timeout.cfg-Datei beschrieben.

0:038> .symfix
0:038> .loadby sos clr
0:038> !name2ee system.web.dll System.Web.RequestTimeoutManager+RequestTimeoutEntry.TimeoutIfNeeded
Module:      59201000
Assembly:    System.Web.dll
Token:       0600699b
MethodDesc:  592926e4
Name:        System.Web.RequestTimeoutManager+RequestTimeoutEntry.TimeoutIfNeeded(System.DateTime)
JITTED Code Address: 593f4200
0:038> !U 593f4200
preJIT generated code
System.Web.RequestTimeoutManager+RequestTimeoutEntry.TimeoutIfNeeded(System.DateTime)
Begin 593f4200, size 29. Cold region begin 59d14150, size 23
Hot region:
*** WARNING: Unable to verify checksum for C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Web\ccb5cc864818531ed9725d02d3d078a6\System.Web.ni.dll
>>> 593f4200 55              push    ebp
593f4201 8bec            mov     ebp,esp
593f4203 57              push    edi
593f4204 56              push    esi
593f4205 8bf1            mov     esi,ecx
593f4207 8b4e10          mov     ecx,dword ptr [esi+10h]
593f420a 8d4508          lea     eax,[ebp+8]
593f420d ff7004          push    dword ptr [eax+4]
593f4210 ff30            push    dword ptr [eax]
593f4212 3909            cmp     dword ptr [ecx],ecx
593f4214 e85f83f5ff      call    System_Web_ni+0x14c578 (5934c578) (System.Web.HttpContext.MustTimeout(System.DateTime), mdToken: 060025f7)
593f4219 8bf8            mov     edi,eax
593f421b 85ff            test    edi,edi
593f421d 0f852dff9100    jne     System_Web_ni+0xb14150 (59d14150)
593f4223 5e              pop     esi
593f4224 5f              pop     edi
593f4225 5d              pop     ebp
593f4226 c20800          ret     8
Cold region:
59d14150 8bce            mov     ecx,esi
59d14152 e849bb6cff      call    System_Web_ni+0x1dfca0 (593dfca0) (System.Web.RequestTimeoutManager+RequestTimeoutEntry.RemoveFromList(), mdToken: 0600699a)
59d14157 b9508f4859      mov     ecx,offset System_Web_ni+0x288f50 (59488f50) (MT: System.Web.HttpApplication+CancelModuleException)
59d1415c e8ef4c63ff      call    System_Web_ni+0x148e50 (59348e50) (System_Web_ni)
59d14161 8bd0            mov     edx,eax
59d14163 c6420401        mov     byte ptr [edx+4],1
59d14167 8bcf            mov     ecx,edi
59d14169 e89a0963ff      call    System_Web_ni+0x144b08 (59344b08) (System_Web_ni)
59d1416e e9b0006eff      jmp     System_Web_ni+0x1f4223 (593f4223)

aspnet_timeout.cfg

<ADPlus Version='2'>
      <!-- Configuring ADPlus to log all first chance exceptions -->
      <!-- Will still create full dump for any type of second chance exceptions -->
  <KeyWords>
     <keyword Name="loadbysos"> .loadby sos clr</keyword>
     <keyword Name="GetJIT"> !name2ee System.web.dll System.Web.RequestTimeoutManager+RequestTimeoutEntry.TimeoutIfNeeded </keyword>
     <keyword Name="JITAddress"> .foreach /pS 0n13 ( record {!name2ee System.web.dll System.Web.RequestTimeoutManager+RequestTimeoutEntry.TimeoutIfNeeded}) { r $t1= ${record}; bp $t1+0xb14150 ".dump /ma /u ${AdpDumpDirEsc}\\Full Request timed out ${AdpProcName}_.dmp;g"; .printf"*breakpoint list*\n"; bl}        </keyword>
  </KeyWords>
   <Settings>
                  <Option>  NoDumpOnFirst  </Option>
                  <RunMode> CRASH </RunMode>
  </Settings>
  <PreCommands>
         <DebugActions> loadbysos; GetJIT; JITAddress </DebugActions>
  </PreCommands>
</ADPlus>
Ok, einen thread abzubrechen, habe aber Ihre Seite funktioniert oder nicht ? vielleicht ein time-out, oder einen pool recycle hast. Sie haben viele thread abgebrochen ?

InformationsquelleAutor jlo | 2013-02-02

Schreibe einen Kommentar