Case of the System.Net.WebClient (407) Proxy Authentication Required

When attempting to launch DebugDiag Analysis Engine ( http://www.microsoft.com/en-us/download/details.aspx?id=42933 )

I received the error message

Error Running Task
One or more errors occurred.

System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required.

   at System.Net.WebClient.OpenRead(Uri address)

   at DebugDiag.Analysis.AutoUpdate.GetWebContent(String pathToLatestFiles)

   at DebugDiag.Analysis.AutoUpdate.IsHostProcessOutOfDate_http(String pathToLatestFiles, Boolean throwIfFileMissing)

   at DebugDiag.Analysis.AutoUpdateVM.CheckForUpdatesInternal()

   at DebugDiag.Analysis.AutoUpdateVM.CheckAndInstallUpdatesInternal()

   at System.Threading.Tasks.Task.Execute()

image

From Fiddler ( http://www.telerik.com/fiddler ) we can see: 407 proxy denied access http://aka.ms/debugdiagupdate

image

In first request we see:

image

This is pretty normal, but in a working application, we will see it retry and complete authentication. In this case it just stops.

The simple fix is to update <exename>.config file (C:\Program Files\DebugDiag\DebugDiag.Analysis.exe.config) by adding within the <Configuration></Configuration> section:

<system.net> <defaultProxy useDefaultCredentials="true" > </defaultProxy> </system.net>

image

After the change, in fiddler we see:

image

On the first tab request in the auth tabs we see same as before:

image

In the 2nd request:

image

The 3rd request:

image

 

And finally:

image

If we had wanted to get some more information, we can right click process in Task Manager when error is displayed and click Create Dump File

Loading in WinDbg and loading SOS by running

.loadby sos clr

Using

.foreach (ex {!dumpheap -type Exception -short}){.echo “********************************”;!pe ${ex} }

( http://blogs.msdn.com/b/tess/archive/2009/04/16/net-exceptions-quick-windbg-sos-tip-on-how-to-dump-all-the-net-exceptions-on-the-heap.aspx )

We can see

Exception object: 0000000003ddfd90
Exception type:   System.Net.WebException
Message:          The remote server returned an error: (407) Proxy Authentication Required.
InnerException:   <none>
StackTrace (generated):
    SP               IP               Function
    000000001F35CA30 000007FEED1ADDD2 System_ni!System.Net.WebClient.OpenRead(System.Uri)+0x2f2
    000000001F35EB90 000007FE8F57980F DebugDiag_Analysis!DebugDiag.Analysis.AutoUpdate.GetWebContent(System.String)+0x3f
    000000001F35EBF0 000007FE8F579794 DebugDiag_Analysis!DebugDiag.Analysis.AutoUpdate.IsHostProcessOutOfDate_http(System.String, Boolean)+0x174
    000000001F35EC60 000007FE8F57836D DebugDiag_Analysis!DebugDiag.Analysis.AutoUpdateVM.CheckForUpdatesInternal()+0x6d
    000000001F35ECC0 000007FE8F5781E1 DebugDiag_Analysis!DebugDiag.Analysis.AutoUpdateVM.CheckAndInstallUpdatesInternal()+0x11
    000000001F35ED00 000007FEEDBA407E mscorlib_ni!System.Threading.Tasks.Task.Execute()+0x6e

Then looking at !eestack we can find this started from thread 9

0:000> ~9s
ntdll!NtWaitForMultipleObjects+0xa:
00000000`76f318ca c3              ret
0:009> !clrstack
OS Thread Id: 0x1c6c (9)
        Child SP               IP Call Site
000000001f35e878 0000000076f318ca [HelperMethodFrame_1OBJ: 000000001f35e878] System.Threading.WaitHandle.WaitOneNative(System.Runtime.InteropServices.SafeHandle, UInt32, Boolean, Boolean)
000000001f35e9a0 000007feedb795c4 System.Threading.WaitHandle.InternalWaitOne(System.Runtime.InteropServices.SafeHandle, Int64, Boolean, Boolean)
000000001f35e9e0 000007feee3b9117 System.Threading.WaitHandle.WaitOne(System.TimeSpan, Boolean)
000000001f35ea20 000007feec5b8e87 System.Windows.Threading.DispatcherOperation+DispatcherOperationEvent.WaitOne()
000000001f35ea90 000007feec5c1bb1 System.Windows.Threading.DispatcherOperation.Wait(System.TimeSpan)
000000001f35eae0 000007feec5ef266 System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherOperation, System.Threading.CancellationToken, System.TimeSpan)
000000001f35ebb0 000007feec5e6997 System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
000000001f35ec50 000007feec7d6102 System.Windows.Threading.Dispatcher.Invoke(System.Delegate, System.Object[])
000000001f35eca0 000007fe8f579a66 DebugDiag.Analysis.AutoUpdateVM.TaskCompleted(System.Threading.Tasks.Task)
000000001f35ed00 000007feedba407e System.Threading.Tasks.Task.Execute()
000000001f35ed70 000007feedb5f8a5 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
000000001f35eed0 000007feedb5f609 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
000000001f35ef00 000007feedba3e55 System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
000000001f35ef90 000007feedba3c75 System.Threading.Tasks.Task.ExecuteEntry(Boolean)
000000001f35efd0 000007feedb0b82a System.Threading.ThreadPoolWorkQueue.Dispatch()
000000001f35f528 000007feeec3f713 [DebuggerU2MCatchHandlerFrame: 000000001f35f528]

On this thread we can:

0:009>!dso

000000001F35ECB8 0000000003de5648 System.AggregateException
000000001F35ECD0 0000000003c10168 System.Threading.ContextCallback
000000001F35ECF0 0000000003b9aaa0 System.Threading.ExecutionContext
000000001F35ED00 0000000003c56160 System.Threading.Tasks.Task
000000001F35ED08 0000000003c56160 System.Threading.Tasks.Task
000000001F35ED70 0000000003c56350 System.Threading.Tasks.ContinuationTaskFromTask
000000001F35EE10 0000000003bdc068 System.Threading.Thread
000000001F35EE40 0000000003bdc068 System.Threading.Thread
000000001F35EE98 0000000003b61898 System.Threading.ThreadPoolWorkQueue
000000001F35EEA8 0000000003b9aaa0 System.Threading.ExecutionContext
000000001F35EEB0 0000000003c56350 System.Threading.Tasks.ContinuationTaskFromTask
000000001F35EEB8 0000000003c10168 System.Threading.ContextCallback
000000001F35EF00 0000000003c56350 System.Threading.Tasks.ContinuationTaskFromTask
000000001F35EF48 0000000003c563c8 System.Threading.Tasks.TplEtwProvider
000000001F35EF78 0000000003c56350 System.Threading.Tasks.ContinuationTaskFromTask
000000001F35EF90 0000000003c56350 System.Threading.Tasks.ContinuationTaskFromTask
000000001F35EFA8 0000000003b61898 System.Threading.ThreadPoolWorkQueue
000000001F35EFD0 0000000003c56350 System.Threading.Tasks.ContinuationTaskFromTask
000000001F35F008 0000000003bdc040 System.Threading.ThreadPoolWorkQueueThreadLocals
000000001F35F018 0000000003b61898 System.Threading.ThreadPoolWorkQueue
000000001F35F038 0000000003c56350 System.Threading.Tasks.ContinuationTaskFromTask
0:009> !do 0000000003de5648
Name:        System.AggregateException
MethodTable: 000007feedd17350
EEClass:     000007feed724cc8
Size:        168(0xa8) bytes
File:        C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
Fields:
              MT    Field   Offset                 Type VT     Attr            Value Name
000007feedd0aee0  4000002        8        System.String  0 instance 0000000000000000 _className
000007feedd09460  4000003       10 …ection.MethodBase  0 instance 0000000000000000 _exceptionMethod
000007feedd0aee0  4000004       18        System.String  0 instance 0000000000000000 _exceptionMethodString
000007feedd0aee0  4000005       20        System.String  0 instance 0000000003de52b0 _message
000007feedd08ee8  4000006       28 …tions.IDictionary  0 instance 0000000000000000 _data
000007feedd0b110  4000007       30     System.Exception  0 instance 0000000003ddfd90 _innerException
000007feedd0aee0  4000008       38        System.String  0 instance 0000000000000000 _helpURL
000007feedd0b4c0  4000009       40        System.Object  0 instance 0000000000000000 _stackTrace
000007feedd0b4c0  400000a       48        System.Object  0 instance 0000000000000000 _watsonBuckets
000007feedd0aee0  400000b       50        System.String  0 instance 0000000000000000 _stackTraceString
000007feedd0aee0  400000c       58        System.String  0 instance 0000000000000000 _remoteStackTraceString
000007feedd0dc90  400000d       88         System.Int32  1 instance                0 _remoteStackIndex
000007feedd0b4c0  400000e       60        System.Object  0 instance 0000000000000000 _dynamicMethods
000007feedd0dc90  400000f       8c         System.Int32  1 instance      -2146233088 _HResult
000007feedd0aee0  4000010       68        System.String  0 instance 0000000000000000 _source
000007feedd0ed00  4000011       78        System.IntPtr  1 instance                0 _xptrs
000007feedd0dc90  4000012       90         System.Int32  1 instance       -532462766 _xcode
000007feedcf7828  4000013       80       System.UIntPtr  1 instance                0 _ipForWatsonBuckets
000007feedd72960  4000014       70 …ializationManager  0 instance 0000000003de57a8 _safeSerializationManager
000007feedd0b4c0  4000001        0        System.Object  0   shared           static s_EDILock
                                 >> Domain:Value  00000000000cf5d0:NotInit  <<
000007feed68fcc8  400002c       98 …ption, mscorlib]]  0 instance 0000000003de5808 m_innerExceptions
0:009> !do 0000000003de52b0
Name:        System.String
MethodTable: 000007feedd0aee0
EEClass:     000007feed673720
Size:        82(0x52) bytes
File:        C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
String:     
One or more errors occurred.
Fields:
              MT    Field   Offset                 Type VT     Attr            Value Name
000007feedd0dc90  40000aa        8         System.Int32  1 instance               28 m_stringLength
000007feedd0c1c8  40000ab        c          System.Char  1 instance               4f m_firstChar
000007feedd0aee0  40000ac       18        System.String  0   shared           static Empty
                                 >> Domain:Value  00000000000cf5d0:NotInit  <<
0:009> !do 0000000003ddfd90
Name:        System.Net.WebException
MethodTable: 000007feecdb0818
EEClass:     000007feeca10138
Size:        176(0xb0) bytes
File:        C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll
Fields:
              MT    Field   Offset                 Type VT     Attr            Value Name
000007feedd0aee0  4000002        8        System.String  0 instance 00000000042284b8 _className
000007feedd09460  4000003       10 …ection.MethodBase  0 instance 0000000000000000 _exceptionMethod
000007feedd0aee0  4000004       18        System.String  0 instance 0000000000000000 _exceptionMethodString
000007feedd0aee0  4000005       20        System.String  0 instance 0000000003ddfce0 _message
000007feedd08ee8  4000006       28 …tions.IDictionary  0 instance 0000000000000000 _data
000007feedd0b110  4000007       30     System.Exception  0 instance 0000000000000000 _innerException
000007feedd0aee0  4000008       38        System.String  0 instance 0000000000000000 _helpURL
000007feedd0b4c0  4000009       40        System.Object  0 instance 0000000003de19a0 _stackTrace
000007feedd0b4c0  400000a       48        System.Object  0 instance 0000000000000000 _watsonBuckets
000007feedd0aee0  400000b       50        System.String  0 instance 0000000000000000 _stackTraceString
000007feedd0aee0  400000c       58        System.String  0 instance 0000000000000000 _remoteStackTraceString
000007feedd0dc90  400000d       88         System.Int32  1 instance                0 _remoteStackIndex
000007feedd0b4c0  400000e       60        System.Object  0 instance 0000000000000000 _dynamicMethods
000007feedd0dc90  400000f       8c         System.Int32  1 instance      -2146233079 _HResult
000007feedd0aee0  4000010       68        System.String  0 instance 0000000000000000 _source
000007feedd0ed00  4000011       78        System.IntPtr  1 instance                0 _xptrs
000007feedd0dc90  4000012       90         System.Int32  1 instance       -532462766 _xcode
000007feedcf7828  4000013       80       System.UIntPtr  1 instance      7feed50b5d0 _ipForWatsonBuckets
000007feedd72960  4000014       70 …ializationManager  0 instance 0000000003ddfe80 _safeSerializationManager
000007feedd0b4c0  4000001        0        System.Object  0   shared           static s_EDILock
                                 >> Domain:Value  00000000000cf5d0:NotInit  <<
000007feece0cf90  4001b81       94         System.Int32  1 instance                7 m_Status
000007feecdb1098  4001b82       98 …m.Net.WebResponse  0 instance 0000000003ddcf20 m_Response
000007feecdc5170  4001b83       a0         System.Int32  1 instance                0 m_InternalStatus
0:009> !do 0000000003ddfce0
Name:        System.String
MethodTable: 000007feedd0aee0
EEClass:     000007feed673720
Size:        172(0xac) bytes
File:        C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
String:     
The remote server returned an error: (407) Proxy Authentication Required.
Fields:
              MT    Field   Offset                 Type VT     Attr            Value Name
000007feedd0dc90  40000aa        8         System.Int32  1 instance               73 m_stringLength
000007feedd0c1c8  40000ab        c          System.Char  1 instance               54 m_firstChar
000007feedd0aee0  40000ac       18        System.String  0   shared           static Empty
                                 >> Domain:Value  00000000000cf5d0:NotInit  <<


 

We can examine the disassembled function this way, both the IL code, and JIT’ed code with annotations:

0:009> !name2ee DebugDiag_Analysis DebugDiag.Analysis.AutoUpdate.GetWebContent
Module:      000007fe8f452f90
Assembly:    DebugDiag.Analysis.exe
Token:       000000000600007b
MethodDesc: 
000007fe8f5fac30
Name:        DebugDiag.Analysis.AutoUpdate.GetWebContent(System.String)
JITTED Code Address:
000007fe8f5797d0
0:009> !dumpil 000007fe8f5fac30
ilAddr = 0000000001103f08
IL_0000: ldnull
IL_0001: stloc.0
IL_0002: newobj System.Net.WebClient::.ctor
IL_0007: stloc.1
IL_0008: ldloc.1
IL_0009: ldarg.0
IL_000a: callvirt System.Net.WebClient::OpenRead
IL_000f: stloc.2
.try
{
  IL_0010: ldloc.2
  IL_0011: newobj System.IO.StreamReader::.ctor
  IL_0016: stloc.3
  .try
  {
    IL_0017: ldloc.3
    IL_0018: callvirt System.IO.TextReader::ReadToEnd
    IL_001d: stloc.0
    IL_001e: leave.s IL_002a
  } // end .try
  .finally
  {
    IL_0020: ldloc.3
    IL_0021: brfalse.s IL_0029
    IL_0023: ldloc.3
    IL_0024: callvirt System.IDisposable::Dispose
    IL_0029: endfinally
  } // end .finally
  IL_002a: leave.s IL_0036
} // end .try
.finally
{
  IL_002c: ldloc.2
  IL_002d: brfalse.s IL_0035
  IL_002f: ldloc.2
  IL_0030: callvirt System.IDisposable::Dispose
  IL_0035: endfinally
} // end .finally
IL_0036: ldloc.0
IL_0037: ret
0:009> !U -ehinfo -gcinfo 000007fe8f5797d0
Normal JIT generated code
DebugDiag.Analysis.AutoUpdate.GetWebContent(System.String)
Begin 000007fe8f5797d0, size 132
>>> 000007fe`8f5797d0 55              push    rbp
000007fe`8f5797d1 53              push    rbx
000007fe`8f5797d2 57              push    rdi
000007fe`8f5797d3 4883ec40        sub     rsp,40h
000007fe`8f5797d7 488d6c2420      lea     rbp,[rsp+20h]
000007fe`8f5797dc 488bf9          mov     rdi,rcx
000007fe`8f5797df 48896500        mov     qword ptr [rbp],rsp
00000013 interruptible
00000013 +rdi
000007fe`8f5797e3 33c0            xor     eax,eax
00000015 +rax
000007fe`8f5797e5 48894508        mov     qword ptr [rbp+8],rax
000007fe`8f5797e9 48894510        mov     qword ptr [rbp+10h],rax
000007fe`8f5797ed 488d0ddc12885d  lea     rcx,[System_ni+0x42aad0 (000007fe`ecdfaad0)]
000007fe`8f5797f4 e897946d5f      call    clr!JIT_NewCrossContext_Portable (000007fe`eec52c90)
000007fe`8f5797f9 488bd8          mov     rbx,rax
0000002c -rax +rbx
000007fe`8f5797fc 488bcb          mov     rcx,rbx
0000002f +rcx
000007fe`8f5797ff e824d3695d      call    System_ni+0x246b28 (000007fe`ecc16b28) (System_ni)
00000034 -rcx
000007fe`8f579804 488bd7          mov     rdx,rdi
00000037 -rdi +rdx
000007fe`8f579807 488bcb          mov     rcx,rbx
0000003a -rbx +rcx
000007fe`8f57980a e8a9d1695d      call    System_ni+0x2469b8 (000007fe`ecc169b8) (System_ni)
0000003f -rdx -rcx +rax
000007fe`8f57980f 48894510        mov     qword ptr [rbp+10h],rax
00000043 -rax +rbp+10
000007fe`8f579813 48c7451800000000 mov     qword ptr [rbp+18h],0
0000004b +rbp+18
EHHandler 1: FAULT CLAUSE BEGIN
000007fe`8f57981b 488d0dbe80795e  lea     rcx,[mscorlib_ni+0x6a18e0 (000007fe`edd118e0)]
000007fe`8f579822 e869946d5f      call    clr!JIT_NewCrossContext_Portable (000007fe`eec52c90)
00000057 +rax
000007fe`8f579827 488bd8          mov     rbx,rax
0000005a -rax +rbx
000007fe`8f57982a 488b5510        mov     rdx,qword ptr [rbp+10h]
0000005e +rdx
000007fe`8f57982e 488bcb          mov     rcx,rbx
00000061 +rcx
000007fe`8f579831 e8e2c94e5e      call    mscorlib_ni+0x3f6218 (000007fe`eda66218) (System.IO.StreamReader..ctor(System.IO.Stream), mdToken: 00000000060046af)
00000066 -rdx -rcx
000007fe`8f579836 48895d08        mov     qword ptr [rbp+8],rbx
0000006a -rbx +rbp+8
EHHandler 0: FAULT CLAUSE BEGIN
000007fe`8f57983a 488b4508        mov     rax,qword ptr [rbp+8]
0000006e +rax
000007fe`8f57983e 488b08          mov     rcx,qword ptr [rax]
00000071 -rax
000007fe`8f579841 488b4148        mov     rax,qword ptr [rcx+48h]
000007fe`8f579845 488b4d08        mov     rcx,qword ptr [rbp+8]
00000079 +rcx
000007fe`8f579849 4c8b5d08        mov     r11,qword ptr [rbp+8]
0000007d +r11
000007fe`8f57984d ff5028          call    qword ptr [rax+28h]
00000080 -r11 -rcx +rax
000007fe`8f579850 48894518        mov     qword ptr [rbp+18h],rax
00000084 -rax
EHHandler 0: FAULT CLAUSE END
000007fe`8f579854 488b4d08        mov     rcx,qword ptr [rbp+8]
00000088 -rbp+8 +rcx
000007fe`8f579858 4c8d1d596beeff  lea     r11,[000007fe`8f4603b8]
000007fe`8f57985f ff15536beeff    call    qword ptr [000007fe`8f4603b8]
00000095 -rcx
000007fe`8f579865 90              nop
EHHandler 1: FAULT CLAUSE END
000007fe`8f579866 48837d1000      cmp     qword ptr [rbp+10h],0
000007fe`8f57986b 7413            je      000007fe`8f579880
000007fe`8f57986d 488b4d10        mov     rcx,qword ptr [rbp+10h]
000000a1 -rbp+10 +rcx
000007fe`8f579871 4c8d1d486beeff  lea     r11,[000007fe`8f4603c0]
000007fe`8f579878 ff15426beeff    call    qword ptr [000007fe`8f4603c0]
000000ae -rcx
000007fe`8f57987e 6690            xchg    ax,ax
000007fe`8f579880 488b4518        mov     rax,qword ptr [rbp+18h]
000000b4 not interruptible
000000b4 -rbp+18
000007fe`8f579884 488d6520        lea     rsp,[rbp+20h]
000007fe`8f579888 5f              pop     rdi
000007fe`8f579889 5b              pop     rbx
000007fe`8f57988a 5d              pop     rbp
000007fe`8f57988b c3              ret
EHHandler 0: FAULT HANDLER BEGIN
000007fe`8f57988c 55              push    rbp
000007fe`8f57988d 53              push    rbx
000007fe`8f57988e 57              push    rdi
000007fe`8f57988f 4883ec30        sub     rsp,30h
000007fe`8f579893 488b6920        mov     rbp,qword ptr [rcx+20h]
000007fe`8f579897 48896c2420      mov     qword ptr [rsp+20h],rbp
000007fe`8f57989c 488d6d20        lea     rbp,[rbp+20h]
000000d0 interruptible
000007fe`8f5798a0 48837d0800      cmp     qword ptr [rbp+8],0
000007fe`8f5798a5 7417            je      000007fe`8f5798be
000007fe`8f5798a7 488d150a6beeff  lea     rdx,[000007fe`8f4603b8]
000007fe`8f5798ae 488b4508        mov     rax,qword ptr [rbp+8]
000000e2 +rax
000007fe`8f5798b2 803800          cmp     byte ptr [rax],0
000000e5 -rax
000007fe`8f5798b5 488b4d08        mov     rcx,qword ptr [rbp+8]
000000e9 +rcx
000007fe`8f5798b9 4c8bda          mov     r11,rdx
000007fe`8f5798bc ff12            call    qword ptr [rdx]
000000ee -rcx
000007fe`8f5798be 90              nop
000000ef not interruptible
000007fe`8f5798bf 4883c430        add     rsp,30h
000007fe`8f5798c3 5f              pop     rdi
000007fe`8f5798c4 5b              pop     rbx
000007fe`8f5798c5 5d              pop     rbp
000007fe`8f5798c6 c3              ret
EHHandler 0: FAULT HANDLER END
EHHandler 1: FAULT HANDLER BEGIN
000007fe`8f5798c7 55              push    rbp
000007fe`8f5798c8 53              push    rbx
000007fe`8f5798c9 57              push    rdi
000007fe`8f5798ca 4883ec30        sub     rsp,30h
000007fe`8f5798ce 488b6920        mov     rbp,qword ptr [rcx+20h]
000007fe`8f5798d2 48896c2420      mov     qword ptr [rsp+20h],rbp
000007fe`8f5798d7 488d6d20        lea     rbp,[rbp+20h]
0000010b interruptible
000007fe`8f5798db 48837d1000      cmp     qword ptr [rbp+10h],0
000007fe`8f5798e0 7417            je      000007fe`8f5798f9
000007fe`8f5798e2 488d15d76aeeff  lea     rdx,[000007fe`8f4603c0]
000007fe`8f5798e9 488b4510        mov     rax,qword ptr [rbp+10h]
0000011d +rax
000007fe`8f5798ed 803800          cmp     byte ptr [rax],0
00000120 -rax
000007fe`8f5798f0 488b4d10        mov     rcx,qword ptr [rbp+10h]
00000124 +rcx
000007fe`8f5798f4 4c8bda          mov     r11,rdx
000007fe`8f5798f7 ff12            call    qword ptr [rdx]
00000129 -rcx
000007fe`8f5798f9 90              nop
0000012a not interruptible
000007fe`8f5798fa 4883c430        add     rsp,30h
000007fe`8f5798fe 5f              pop     rdi
000007fe`8f5798ff 5b              pop     rbx
000007fe`8f579900 5d              pop     rbp
000007fe`8f579901 c3              ret

About chentiangemalc

specializes in end-user computing technologies. disclaimer 1) use at your own risk. test any solution in your environment. if you do not understand the impact/consequences of what you're doing please stop, and ask advice from somebody who does. 2) views are my own at the time of posting and do not necessarily represent my current view or the view of my employer and family members/relatives. 3) over the years Microsoft/Citrix/VMWare have given me a few free shirts, pens, paper notebooks/etc. despite these gifts i will try to remain unbiased.
This entry was posted in .NET, Fiddler, WinDbg and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s