-
Notifications
You must be signed in to change notification settings - Fork 35
/
codeplexhelppage.txt
1966 lines (1646 loc) · 82.6 KB
/
codeplexhelppage.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
!!!! UPDATE
NetExt is back. New commands added not yet included in this help. Use !whelp for all commands
!!!! LATEST VERSION: 2.0.1.5000
!!!! Description
*Getting started*
- Open WinDBG. Load netext
- Make sure you open the appropriate 32-bits or 64-bits extension (32-bits dumps require winbg 32-bits and netext 32-bits)
- For detailed help, run:
".browse !whelp"
- Run: "[!windex|#windex] -tree" and follow the instructions
- All the rest will be intuitive
- For scripts, see [!wfrom|#wfrom] and [!wselect|#wselect]
- Download the training material here: [url:https://netext.codeplex.com/releases/view/611486] - Training material is NOW up-to-date.
*COMPATIBLE WITH .NET 2.0 to 4.5.x*
*Common Resources*
[List of available commands|#menu]
[Examples|#examples]
*This windbg debug extension works as data mining for .NET.*
You can do select like queries to .NET objects including sublevel fields.
For example, to get the url of a HttpContext it is necessary to
1. !do the httpcontext instance, get address of _request
2. !do the HttpRequest instance, get the address of _url
3. !do the URI instance, get the address of m_String
4. !do the instance of the string object.
*Using netext you only need to issue a command like:*
{{!wselect _request._url.m_String, _response._statusCode from 0x242afe8}}
*Or to list all requests that are "http:" and the status code is not 200 (OK) from ALL HttpRequests:*
{{!wfrom -type *.HttpContext
where ( ($contains(_request._url.m_String, "http:")) && (_response._statuscode != 0n200) )
select $addr(), _request._url.m_String, _response._statusCode
calculated: 0n5731369072
_request._url.m_String: http://rviana-serv.contoso.com:80/TestClass/Service.svc/net
_response._statusCode: 0n401
calculated: 0n6802002784
_request._url.m_String: http://rviana-serv.contoso.com:80/TestClass/Service.svc/net
_response._statusCode: 0n401 }}
It also works very well showing arrays (!wdo, !wselect and !wfrom) and providing link to the objects or showing the items value depending on the content of the array.
*THE EXTENSION DOES NOT REQUIRE SOS OR PSSCORX TO WORK. It access .NET debugging API directly without intermediary.*
Please use netext.dll for .NET 2.0-4.5.x. There are both 32 and 64-bits versions.
{anchor:examples}
*Examples:*
{{
.load netext
0:000> !windex -type *.httpcontext
(...)
00000001956e5360 000007feda232488 336 1 0 System.Web.HttpContext
0000000195702098 000007feda232488 336 1 0 System.Web.HttpContext
}}
{{
0:000> !wselect _request._url.m_String, _response._statuscode from 0000000195702098
System.String _request._url.m_String = 00000001559cb3a8 http://rviana-serv.contoso.com:80/TestClass/Service.svc/net
(int32)System.Int32 _response._statuscode = c8 (0n200)
0:000> !wselect * from 000000015579ec00
System.String Key = 000000015578c6c8 assembly
System.Object Value = 000000015579EBD8
}}
_Note: !wselect does not accept expressions or conditionals but it accepts wildcard fields_
{{
0:000> !wdo 0000000195702098
Address: 0000000195702098
EEClass: 000007fed9e923b8
Method Table: 000007feda232488
Class Name: System.Web.HttpContext
(...)
Inherits: System.Web.HttpContext System.Object (000007FEDA232488 000007FEEFC07370)
07feda234fb0 System.Web.IHttpAsyncHandler +0000 _asyncAppHandler 0000000000000000
07feda234ae0 System.Web.HttpApplication +0008 _appInstance 0000000000000000
(...)
07feefc47fb8 System.DateTime +0120 _utcTimestamp -mt 07FEEFC47FB8 01957021C0 10/26/2011 9:16:11 PM
(...)
07feefc47eb8 System.TimeSpan +0138 _timeout -mt 07FEEFC47EB8 01957021D8 03:14:07
007feefc0ecf0 System.Int32 +010c _timeoutState 0 (0n0)
(...)
007feefc06c50 System.Boolean +0118 _finishPipelineRequestCalled 1 (True)
(...)
}}
{{
0:000> !wdo 00000001556d1dc8
Address: 00000001556d1dc8
EEClass: 000007feef80eb58
Method Table: 000007feefbf5870
Class Name: System.Object[]
Size : 48
Rank: 1
Components: 2
[0]: 00000001556d27e0 <IPermission class="System.Security.Permissions.MediaPermission, WindowsBase,
Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" version="1" Audio="SafeAudio" Video="SafeVideo" Image="SafeImage"/>
[1]: 00000001556d33d8 <IPermission class="System.Security.Permissions.WebBrowserPermission, WindowsBase,
Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" version="1" Level="Safe"/>
}}
{{
0:000> ~*e!wstack
Listing objects from: 0000000000284000 to 0000000000290000 from thread: 0 [21a0]
Listing objects from: 000000000088e000 to 0000000000890000 from thread: 1 [263c]
(...)
Listing objects from: 0000000004208000 to 0000000004210000 from thread: 20 [1780]
@rcx=00000001956e6318 000007feefc39f88 System.Threading._TimerCallback 1 0
(...)
0000000195701d78 000007feda23a620 System.Web.Hosting.IIS7WorkerRequest 1 0
0000000195720380 000007feefc01808 System.Threading.ContextCallback 1 0
00000001556e5490 000007feda22c148 System.Web.HttpRuntime 0 0
(...)
}}
{anchor:menu}
*List of commands*
*Commands to Show Object Details*
*--------------------------------------*
[!wdo|#wdo] - Display ad-hoc objects or arrays from GAC or Stack
[!wselect|#wselect] - Display ad-hoc fields (and level fields) for an object or for all item in an array
[!wfrom|#wfrom] - Perform SQL-like analysis of Heap objects enabling comparison, expression evaluation and indexed filtering.
*Enumerate objects*
*---------------------*
[!windex|#windex] - index and display objects based in different filters like object with of type HttpContext
[!wstack|#wstack] - dump unique stack objects
[!wheap|#wheap] - list objects without indexing and show thottled heap sampling
[!wgchandles|#wgchandles] - Dump GC root handles
*Special Purpose*
*------------------*
[!wdict|#wdict] - Display dictionary objects
[!whash|#whash] - Display HashTable objects
[!whttp|#whttp] - List HttpContext Objects
*new* ![wconfig|#wconfig] - Show all .config file lines in memory
[!wservice|#wservice] - List WCF service Objects
[!weval|#weval] - Evaluate expression list
*new* [!wclass|#wclass] - Show "reflected" class definition (fields, properties and methods)\(*new*)
[!wkeyvalue|#wkeyvalue] - Display pair key/value for NameObjectCollection type objects
(*new*) [!wcookie|#wcookie] - Display HTTP cookies using filters and grouping
(*new*) [!wruntime|#wruntime] - Display HTTP Runtime Info including Active Requests count
(*new*) [!wtoken|#wtoken] - Display WIF tokens and claims
(*new*) [!wthreads|#wthreads] - Dump thread information
(*new*) [!wver|#wver] - Show version of the .NET framework(s) present in the process or dump and extension version
(*new*) [!wupdate|#wupdate] - Check for new versions and compare with current. If a new version is found, it tries to open the update page
(*new*) [!wdomain |#wdomain] - Dump all Application Domains
(*new*) [!wdae |#wdae] - Dump all exceptions in the heap
(*new*) [!wpe |#wpe] - Dump Exception Object
----
[expression syntax|#expression]
[functions list|#functions] *new functions*
{anchor:wpe}
*!wpe - Dump Details of an Exception Object*
{{
Syntax:
---------
!wpe <expr>
Where:
<expr> is the Exception object address (you can use an expression).
Examples:
---------
Dump a particular Exception
----------------------------------
0:00> !wpe 00000001045f0c68
Address: 00000001045f0c68
Exception Type: System.InvalidOperationException
Message: Could not retrieve a valid Windows identity.
Inner Exception: 00000001045de690 System.ServiceModel.EndpointNotFoundException There was no endpoint listening at net.pipe://localhost/s4u/022694f3-9fbd-422b-b4b2-312e25dae2a2 that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
Stack:
SP IP Function
000000000c347490 000007feef2fd82c Microsoft.SharePoint.SPSecurityContext.GetWindowsIdentity()
000000000c349d60 000007feed97086a Microsoft.SharePoint.Administration.SPFarm.CurrentClaimsUserIsBoxAdministrator(Microsoft.IdentityModel.Claims.IClaimsIdentity)
HResult: 80131509
}}
{anchor:wdae}
*!wdae - Dump all exceptions in the heap (you must index via !windex first)*
{{
Syntax:
---------
!wdae
Examples:
---------
Show all Exceptions in heap
----------------------------------
0:00> !wdae
71 of Type: System.ArgumentException 00000001011f78c8 00000001012074a0 000000010126b268
Message:
Inner Exception: (none)
Stack:
IP Function
000007feef31cff6 Microsoft.SharePoint.Administration.Claims.SPClaimEncodingManager.DecodeClaimFromFormsSuffix(System.String)
000007ff0026ba43 Microsoft.SharePoint.IdentityModel.SPTokenCache.ReadToken(Byte[])
(...)
7 of Type: System.IO.PipeException 00000001045de600 0000000141c00398 0000000142096cc8
Message: The pipe endpoint 'net.pipe://localhost/s4u/022694f3-9fbd-422b-b4b2-312e25dae2a2' could not be found on your local machine.
Inner Exception: (none)
Stack:
(no managed stack found)
7 of Type: System.InvalidOperationException 00000001045f0c68 0000000141c165a0 00000001420b1420
Message: Could not retrieve a valid Windows identity.
Inner Exception: System.ServiceModel.EndpointNotFoundException
Stack:
IP Function
000007feef2fd82c Microsoft.SharePoint.SPSecurityContext.GetWindowsIdentity()
000007feed97086a Microsoft.SharePoint.Administration.SPFarm.CurrentClaimsUserIsBoxAdministrator(Microsoft.IdentityModel.Claims.IClaimsIdentity)
(...)
135 of Type: System.Threading.ThreadAbortException 00000001011fc1e8 0000000101738cc0 0000000101742a70
Message: Thread was being aborted.
Inner Exception: (none)
Stack:
IP Function
000007feeab96798 System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean ByRef)
67 of Type: System.Threading.ThreadAbortException 0000000101738258 0000000101776210 00000001021a8580
Message: Thread was being aborted.
Inner Exception: (none)
Stack:
IP Function
0000000000000000 System.Threading.Thread.AbortInternal()
000007fef2ea4419 System.Threading.Thread.Abort(System.Object)
000007feeabc6415 System.Web.HttpResponse.End()
000007feed84fb60 Microsoft.SharePoint.Utilities.SPUtilityInternal.SendResponse(System.Web.HttpContext, Int32, System.String)
000007feed808f9a Microsoft.SharePoint.Utilities.SPUtility.SendAccessDeniedHeader(System.Exception)
000007feedca07bd Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PostAuthenticateRequestHandler(System.Object, System.EventArgs)
000007feeaba59b0 System.Web.HttpApplication+SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
000007feeab9671b System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean ByRef)
(...)
67 of Type: System.UnauthorizedAccessException 0000000101737f98 0000000101775f50 00000001021a82c0
Message: Attempted to perform an unauthorized operation.
Inner Exception: (none)
Stack:
(no managed stack found)
58 of Type: System.UriFormatException 0000000101229ab0 0000000101396670 00000001014c8560
Message: Invalid URI: The format of the URI could not be determined.
Inner Exception: (none)
Stack:
IP Function
000007fef1d976bf System.Uri.CreateThis(System.String, Boolean, System.UriKind)
000007feeda41031 Microsoft.SharePoint.Utilities.SPUrlUtility.IsUrlFull(System.String)
491 Exceptions in 13 unique type/stack combinations (duplicate types in similar stacks may be rethrows)
}}
{anchor:wdomain}
*!wdomain - Dump domain information including name, base folder, config file and modules loaded*
{{
Syntax:
---------
!wdomain
Examples:
---------
Dump all domains
----------------------------------
0:00> !wdomain
Address Domain Name Modules Base Path and Config
000007fef49c3820 System 112
000007fef49c2f20 Shared
000000000153b9f0 DefaultDomain 44 Base Path: c:\windows\system32\inetsrv\ Config: w3wp.exe.config
000000000153c300 /LM/W3SVC/1067026433/ROOT-1-130029361030647561 238 Base Path: C:\inetpub\wwwroot\wss\VirtualDirectories\80\ Config: web.config
}}
{anchor:wupdate}
*!wupdate - Check for new versions and compare with current. If a new version is found, it tries to open the update page*
*If the page is not in http://netext.codeplex.com, do not download*
{{
Syntax:
---------
!wuptade
}}
{anchor:wver}
*!wver - Show version of the .NET framework(s) present in the process or dump. It may have more than one framework in memory*
*It also shows the extension version*
{{
Syntax:
---------
!wver
Examples:
---------
Show version of .NET and extension
-----------------------------------
0:00> !wver
Runtime(s) Found: 1
0: Filename: mscordacwks_amd64_Amd64_4.0.30319.18010.dll
.NET Version: v4.0.30319.18010
NetExt (this extension) Version: 2.0.1.5000
}}
{anchor:wthreads}
*!wthreads - Dump thread information*
{{
Syntax:
---------
!wthreads
Examples:
---------
Show all managed threads
--------------------------------
0:00> !wthreads
Id OSId Address Domain Allocation Start:End COM GC Type Locks Type / Status Last Exception
1 0bd4 000000000211c410 000000000153b9f0 0000000184ce85f0:0000000184cea5b0 MTA Preemptive 0 Background
2 147c 0000000002160150 000000000153b9f0 0000000000000000:0000000000000000 MTA Preemptive 0 Background|Finalizer
3 1068 00000000021a22e0 000000000153b9f0 0000000000000000:0000000000000000 MTA Preemptive 0 Background|Timer
4 12b8 00000000021a28b0 000000000153b9f0 0000000000000000:0000000000000000 NONE Preemptive 0 Background
5 0c04 00000000053dd170 000000000153b9f0 0000000000000000:0000000000000000 MTA Preemptive 0 Background|Wait
6 1614 0000000005506290 000000000153b9f0 0000000000000000:0000000000000000 MTA Preemptive 0 Background|IOCPort
8 18d0 0000000005413800 000000000153c300 00000001c2355020:00000001c2356f18 MTA Preemptive 0 Background
9 1ac4 0000000005413dd0 000000000153c300 0000000000000000:0000000000000000 MTA Preemptive 0 Background
10 09e8 00000000054143a0 000000000153c300 00000001045f1340:00000001045f1ac0 MTA Preemptive 1 Background|Worker System.InvalidOperationException
11 1aa8 0000000005414970 000000000153c300 0000000000000000:0000000000000000 MTA Preemptive 0 Background
12 192c 0000000005416c50 000000000153c300 0000000000000000:0000000000000000 MTA Preemptive 0
14 15c0 0000000005573580 000000000153c300 0000000184ecb720:0000000184ecc310 MTA Cooperative 1 Background|Worker
16 1668 0000000005574120 000000000153c300 00000001046439e0:0000000104643ba0 MTA Cooperative 1 Background|Worker System.ArgumentException
17 1440 00000000055746f0 000000000153b9f0 00000001822fffd8:0000000182301ea8 NONE Preemptive 0 Background
18 1900 0000000005574cc0 000000000153b9f0 0000000000000000:0000000000000000 NONE Preemptive 0 Background
19 10e4 0000000005575290 000000000153b9f0 00000001c12aa268:00000001c12ac1d8 NONE Preemptive 0 Background
23 0368 0000000005578110 000000000153c300 000000010458e450:000000010458efe0 MTA Preemptive 3 Background|Worker
24 1168 0000000005576fa0 000000000153c300 0000000184ee3938:0000000184ee41d0 MTA Cooperative 1 Background|Worker System.UriFormatException
25 1b50 0000000005577570 000000000153b9f0 0000000000000000:0000000000000000 NONE Preemptive 0 Background
27 ---- 0000000005579850 000000000153b9f0 0000000000000000:0000000000000000 NONE Preemptive 0 Worker|Terminated
28 0d6c 0000000005579e20 000000000153c300 00000001c4b13b78:00000001c4b141d0 MTA Cooperative 1 Background|Worker System.ArgumentException
29 12d0 0000000005579280 000000000153c300 0000000144bbfb08:0000000144bc1008 MTA Preemptive 1 Background|Worker System.ArgumentException
30 0a2c 000000000557a3f0 000000000153b9f0 00000001045c36b0:00000001045c5018 MTA Cooperative 2 Background|Worker
31 13b0 000000000d8e06e0 000000000153c300 00000001045f54f0:00000001045f5ac0 MTA Cooperative 1 Background|Worker
32 1224 0000000005578cb0 000000000153b9f0 0000000103cdcf60:0000000103cdea10 MTA Preemptive 0 Background|Worker
33 1058 000000000d8e0cb0 000000000153c300 00000001c4afecb8:00000001c4b001d0 MTA Preemptive 1 Background|Worker System.UriFormatException
34 ---- 000000000d8e1280 000000000153b9f0 0000000000000000:0000000000000000 NONE Preemptive 0 Worker|Terminated
35 ---- 000000000d8e1850 000000000153b9f0 0000000000000000:0000000000000000 NONE Preemptive 0 Worker|Terminated
36 141c 000000000d8e1e20 000000000153b9f0 0000000103dc1548:0000000103dc2500 MTA Preemptive 0 Background|Worker
40 1480 000000000d8e3560 000000000153b9f0 00000001040dbdd0:00000001040dc2b0 MTA Preemptive 0 Background|Worker
41 ---- 000000000d8e3b30 000000000153b9f0 0000000000000000:0000000000000000 NONE Preemptive 0 Worker|Terminated
43 ---- 000000000d8fde20 000000000153b9f0 0000000000000000:0000000000000000 NONE Preemptive 0 Worker|Terminated
44 0e8c 000000000d8fd850 000000000153c300 00000001038dd878:00000001038de8b8 MTA Preemptive 0 Background|Worker
48 ---- 000000000d8fe9c0 000000000153b9f0 0000000000000000:0000000000000000 NONE Preemptive 0 Worker|Terminated
50 1468 000000000d8ff560 000000000153c300 0000000103f94ea8:0000000103f95578 MTA Cooperative 0 Background|Worker
52 1a54 000000001715be10 000000000153b9f0 0000000000000000:0000000000000000 NONE Preemptive 0 Background
}}
{anchor:wkeyvalue}
*!wkeyvalue - Display pair key/value for objects that derives NameObjectCollectionBase*
{{
Usage: !wkeyvalue <expr>
Where:
<expr> is the address of the object derived from NameObjectCollectionBase. Required
Examples:
-------------
Listing Http forms
------------------------
0:000> !wkeyvalue 00000000eda53b98
[System.Web.HttpValueCollection]
=====================================
__SPSCEditMenu=true
=====================================
MSOTlPn_View=0
=====================================
MSOTlPn_ShowSettings=False
=====================================
MSOGallery_SelectedLibrary=
=====================================
MSOGallery_FilterString=
=====================================
MSOTlPn_Button=none
=====================================
__EVENTTARGET=
=====================================
__EVENTARGUMENT=
=====================================
__REQUESTDIGEST=0x57EE4FDFADDAC752F6531DE0D1446CAF0135B5DA5183698D255CFDB406D14128533F085AE1500ECCBCABA3E838E8F8DA4AA0BFF028FDDF0010C824F948F976C0,09 Feb 2014 15:41:30 -0000
=====================================
MSOSPWebPartManager_DisplayModeName=Browse
=====================================
MSOSPWebPartManager_OldDisplayModeName=Browse
(...)
*Pairs with complex types*
----------------------------------
0:000> !wkeyvalue 000000016299ebd0
[System.Configuration.ConfigurationValues]
=====================================
key=[000000016299edc8:System.Configuration.ConfigurationValue]{ { "SourceInfo":0000000100004600 } { "Value":CollaborationAggregator_WebServiceURL } { "ValueFlags":0n1 } }
=====================================
value=[000000016299ee50:System.Configuration.ConfigurationValue]{ { "SourceInfo":0000000100004720 } { "Value":https://portal.contoso.com/_layouts/collaboration/ws/webservice.asmx } { "ValueFlags":0n1 } }
}}
{anchor:wcookie}
*!wcookie - Dump all cookies for all Http context objects, a single context or matching a cookie filter criteria*
{{
Usage: !wcookie [-summary] [-name <partial-name>] [-value <partial-value>]
[-min <expr>] <expr>
Where:
-summary Shows only the summary (count by key=value). Optional
-min <expr> Only shows when the count of cookies >= <expr> (e.g. -min 2). Optional
-name <partial-name> ;Dump only cookies with this name (e.g -name FedAuth*). Optional
-value <partial-value> Dump only if value match (e.g. -value a4ghj8abcd*). Optional
<expr> is the HttpContext object address (you can use an expression). Optional. List all if not specified
Examples:
-------------
Listing Session Cookies that repeat
--------------------------------------------
0:000> !wcookie -summary -name ASP.NET_* -min 2
Action Total Finished Cookie=Value
======================================================================================
(list) 3 2 ASP.NET_SessionId=0qtahu45hokrcs45052cn0a5
(list) 6 5 ASP.NET_SessionId=1ezzsuipgbqkywrz3wr0mo55
(list) 13 9 ASP.NET_SessionId=x3zmuqi21zohzz55gyefx4nv
(Total is the number total of requests and Finished is the number of finished requests)
Listing requests with same cookie value
--------------------------------------------
0:000> !wcookie -summary -name ASP.NET_* -min 2
Action Total Finished Cookie=Value
======================================================================================
(list) 3 2 ASP.NET_SessionId=0qtahu45hokrcs45052cn0a5
0:000> !wcookie -name ASP.NET_SessionId -value 0qtahu45hokrcs45052cn0a5
00000000e341db08 https://portal.contoso.com:443/GMC/RC/Documents/Constoso.pdf (200 NULL) Finished
======================================================================================
ASP.NET_SessionId=0qtahu45hokrcs45052cn0a5
1 printed
======================================================================================
00000001206530a0 https://portal.contoso.com:443/GMC/RC/Webmasters/Pages/default.aspx (200 NULL) Finished
======================================================================================
ASP.NET_SessionId=0qtahu45hokrcs45052cn0a5
1 printed
======================================================================================
00000001229a82c8 https://portal.contoso.com:443/audit/countries/br/Pages/MUSIC.aspx (200 NULL) Running (00:01:02)
======================================================================================
ASP.NET_SessionId=0qtahu45hokrcs45052cn0a5
1 printed
======================================================================================
}}
{anchor:wruntime}
*!wruntime - Dump all active Http Runtime information*
{{
This is equivalent to this command:
!wfrom -nospace -nofield -type System.Web.HttpRuntime where ((!_beforeFirstRequest) || _shutdownReason) "\n=========================================================================\n","Address : ",$addr(),"\nFirst Request : ",$tickstodatetime(_firstRequestStartTime.dateData),"\nApp Pool User : ",_wpUserId,"\nTrust Level : ",_trustLevel,"\nApp Domnain Id : ",_appDomainId,"\nDebug Enabled : ",$if(_debuggingEnabled,"True (Not recommended in production)","False"),"\nActive Requests : ",_activeRequestCount,"\nPath : ",_appDomainAppPath,$if(_isOnUNCShare," (in a share)"," (local disk)"),"\nTemp Folder : ",_tempDir,"\nCompiling Folder: ",_codegenDir,"\nShutdown Reason : ",$if(_shutdownReason,$enumname(_shutdownReason)+" at "+$tickstodatetime(_lastShutdownAttemptTime.dateData),"Not shutting down"),"\n\n",$if(_shutdownReason,_shutDownMessage+"n"+_shutDownStack,"")
Syntax:
---------
!wruntime
Examples:
---------
Dumps all Active Http Runtime
--------------------------------
0:00>!wruntime
=========================================================================
Address : 000000011F7244F0
First Request : 7/23/2014 5:13:36 PM
App Pool User : US\us-go-svcedcApp
Trust Level : Full
App Domnain Id : /LM/W3SVC/8989/ROOT/Services/2013v3-1-130506092168812411
Debug Enabled : True (Not recommended in production)
Active Requests : 0n0
Path : G:\Internet\wwwroot\contoso\Services\ (local disk)
Temp Folder : C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
Compiling Folder: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\contoso_Services\998f0bec\b158a7c7
Shutdown Reason : HostingEnvironment at 7/23/2014 5:25:41 PM
Directory rename change notification for 'G:\Internet\wwwroot\contoso\Services\'.
Services dir change or directory rename
HostingEnvironment initiated shutdown
HostingEnvironment caused shutdownn at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal()
at System.Web.HttpRuntime.ShutdownAppDomain(String stackTrace)
at System.Web.HttpRuntime.OnCriticalDirectoryChange(Object sender, FileChangeEvent e)
at System.Web.FileChangesMonitor.OnSubdirChange(Object sender, FileChangeEvent e)
at System.Web.DirectoryMonitor.FireNotifications()
at System.Web.Util.WorkItem.CallCallbackWithAssert(WorkItemCallback callback)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
}}
{anchor:wtoken}
*!wtoken - Display WIF tokens and claims*
{{
Dump all claims for a WIF Tokens in memory or if an HttpContext is specified it lists all claims for that request
Usage: !wcookie [<expr>]
Where:
<expr> is the HttpContext object address (you can use an expression). Optional. List all if not specified
Examples:
-------------
Listing all claims in a SharePoint request using claims authentication
-----------------------------------------------------------------------------
0:000> !wtoken 0000000183ce6da8
HttpContext : 0000000183ce6da8 http://sp.contoso.com:80/Lists/Announcements/DispForm.aspx?ID=1
000000013f536688 Microsoft.IdentityModel.Tokens.SessionSecurityToken
Authentication Type: Federation
Name Claim Type : http://schemas.microsoft.com/sharepoint/2009/08/claims/userid
Role Claim Type : http://schemas.microsoft.com/ws/2008/06/identity/claims/role
Bootstrap Token : 00000000ff5b0a88
Claims
================================
Type : http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
Issuer : SharePoint
Original Issuer: SharePoint
Value : contoso\administrator
============================================================================================================
Type : http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid
Issuer : SharePoint
Original Issuer: Windows
Value : S-1-5-21-1385174992-979951090-295046656-500
============================================================================================================
Type : http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid
Issuer : SharePoint
Original Issuer: Windows
Value : S-1-5-21-1385174992-979951090-295046656-513
============================================================================================================
Type : http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
Issuer : SharePoint
Original Issuer: Windows
Value : Administrator@contoso.com
============================================================================================================
Type : http://schemas.microsoft.com/sharepoint/2009/08/claims/userlogonname
Issuer : SharePoint
Original Issuer: Windows
Value : CONTOSO\Administrator
============================================================================================================
Type : http://schemas.microsoft.com/sharepoint/2009/08/claims/userid
Issuer : SharePoint
Original Issuer: SecurityTokenService
Value : 0#.w|contoso\administrator
============================================================================================================
(...)
}}
{anchor:wdo}
*!wdo - Dump an object or array*
{{!wdo [/forcearray] [/shownull] [/noheader] [/noindex] [/mt <expr>]
[/start <expr>] [/end <expr>] <expr>
/mt <expr> - mt,Method table for value objects (space-delimited)
<expr> - Address,Object Address
/start <expr> - Starting index to show in an array (space-delimited)
/end <expr> - Ending index to show in an array (space-delimited)
/forcearray - For Byte[] and Char[] arrays show items not the string
/shownull - For arrays will show items that are null
/noheader - Display only object address and field and values
/noindex - For arrays it will show values without the index
/tokens - show class and type tokens for fields
Examples:
List a structure (value object)
--------------------------------
!wdo -mt 000007feefc47fb8 00000001957021c0
0:000> !wdo -mt 000007feefc0a380 000000015585ec70
Address: 000000015585ec70
EEClass: 000007feef80f1f8
Method Table: 000007feefc0a380
(...)
Assembly name: C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
Inherits: System.ValueType System.RuntimeTypeHandle System.Object (000007FEEFC07470 000007FEEFC0A380 000007FEEFC07370)
400052c 000007feefc0a488 2000108 System.IntPtr +0000 m_ptr 7ff002126c0 (0n8791800227520)
400052b 000007feefc0a380 Static 2000108 System.RuntimeTypeHandle+0238 EmptyHandle NULL
List an array
--------------
0:000> !wdo 0x00000001956fc648
Address: 00000001956fc648
EEClass: 000007feef8b14b8
Method Table: 000007feefc0f5a0
Object Type: 3
Class Name: System.Collections.Hashtable+bucket[]
Size : 288
Rank: 1
Components: 11
[0]: 00000001956fc658
[1]: 00000001956fc670
[2]: 00000001956fc688
(...)
List a single object
---------------------
0:000> !wdo -tokens 00000001956fc748
Address: 00000001956fc748
EEClass: 000007feef8b15f0
Method Table: 000007feefc0f708
Class Name: System.Collections.Hashtable+bucket
(...)
Assembly name: C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
Inherits: System.ValueType System.Object System.Collections.Hashtable+bucket (000007FEEFC07470 000007FEEFC07370 000007FEEFC0F708)
4000999 000007feefc07370 2000266 System.Object +0000 key 00000001956FA518
400099a 000007feefc07370 2000266 System.Object +0008 val 00000001956FDDE8
400099b 000007feefc0ecf0 2000266 System.Int32 +0010 hash_coll 6bf311c4 (0n1811091908)
}}
{anchor:wselect}
*!wselect - select specific fields from an object or array (accepts wildcard ? and {"*"})*
{{
!wselect [mt <expr>] <field1>, ..., <fieldN> from <obj-expr> | <array-expr>
<field1>, ..., <fieldN> List of fields to display (accepts * and ?)
Fields can include subfields in the format field1.subfield1.subsubfield1
mt <expr> (note it is not -mt or /mt) Method table it it is a value object/struct
<obj-expr> | <array-expr> Address of an object or array
Note: !wselect unlike !wfrom DOES NOT accept contitionals and expressions
Examples:
List all fields of an object
----------------------------
0:000> !wselect * from 000000019568bd48
System.Object m_objref = 0000000000000000
(int32)System.Int32 m_data1 = 0 (0n0)
(int32)System.Int32 m_data2 = 0 (0n0)
(int32)System.Int32 m_flags = 0 (0n0)
static System.Type _voidPtr = 0000000000000000
static System.Object[] ClassTypes = 000000019568BDC0
static System.Variant Empty = -mt 000007FEEFBF6DD8 00000001D5660300
(...)
List url and response from a HttpContext
----------------------------------------
0:000> !wselect _request._url.m_String, _response._statusCode from 0000000195702098
System.String _request._url.m_String = 00000001559cb3a8 http://rviana-serv.contoso.com:80/TestClass/Service.svc/net
(int32)System.Int32 _response._statusCode = c8 (0n200)
List all urls for all HttpRequest types in heap (using !windex and .foreach)
-----------------------------------------------------------------------------
.foreach({$addr} {!windex -short -type *.HttpRequest}){!wselect _url.m_String from {$addr} }
Listing selected fields from an array of endpoints
---------------------------------------------------
0:000> !wselect id, address.uri.m_String from 000000015595faa0
***************
[0]: 000000015595f9a8
System.String id = 0000000155984ad8 1b5d922e-7a3e-4e00-8289-24260fc3dfaf
System.String address.uri.m_String = 000000015595dfd8 http://rviana-serv.contoso.com/TestClass/Service.svc/net
***************
[1]: 0000000155965390
System.String id = 000000015598c578 b6a9bc45-c2d2-4d16-b329-18f1406805b7
System.String address.uri.m_String = 0000000155963cb0 http://rviana-serv.contoso.com/TestClass/Service.svc/jar
***************
[2]: 0000000155968838
System.String id = 0000000155994270 5a3819bb-4a1d-444f-8ee7-244186704fbb
System.String address.uri.m_String = 0000000155967648 http://rviana-serv.contoso.com/TestClass/Service.svc/mex
Hint: You can get to the array of endpoints from a System.ServiceModel.Description.ServiceDescription using this
------------------------------------------------------------------------------------------------------------------
0:000> !wselect endpoints.items._items from 000000015585f5c8
System.Object[] endpoints.items._items = 000000015595FAA0
}}
{anchor:windex}
*!windex - Index and dump managed heap types enabling tree view and save index in disk (useful for large dumps)*
{{
!windex [/quiet] [/enumtypes] [/tree] [/flush] [/short] [/ignorestate]
[/withpointer] [/type <string>] [/fieldname <string>]
[/fieldtype <string>] [/implement <string>] [/save <string>]
[/load <string>] [/mt <string>]
/quiet - Do not display index progress
/enumtypes - Display types with link to objects
/tree - Show types tree on a different window (WinDBG only)
/flush - Fush index
/short - Display addresses only
/ignorestate - Ignore state when loading index
/type <string> - type;List of types to include wildcards accepted (eg. -type
*HttRequest,system.servicemodel.*)
/fieldname <string> - fieldname;List of field names that the type must
contain (eg. -fieldname *request,_wr)
/fieldtype <string> - fieldtype;List of field types that the type must
contain (eg. -fieldtype *.String,*.object)
/implement <string> - implement;List of parent types that the type must
implement (eg. -implement *.Exception,*.Array)
/withpointer - List all types which include pointer fields
/save <string> - Save index to file
/load <string> - Load previously saved index file
/mt <string> - List of Method Tables to include (eg. -mt 7012ab8,70ac080)
Examples:
Index managed heap in memory and show a list of all types found and the number of objects per type
---------------------------------------------------------------------------------------------------
0:000> !windex -enumtypes
Starting indexing at 17:20:25 PM
Indexing finished at 17:20:28 PM
4,715,107 Bytes in 55,010 Objects
Index took 00:00:02
000007ff00198b28 ASP.global_asax (2)
000007ff00212a00 CompositeType (1)
000007ff00199340 CustomHandle.RemoveBasic (2)
00000000013d4d40 Free (36)
000007ff00105020 Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior (2)
000007ff001055d8 Microsoft.VisualStudio.Diagnostics.ServiceModelSink.StubServerEventSink (3)
000007fee15ddd90 Microsoft.Web.Administration.ConfigurationAttribute (1)
000007fee15dd948 Microsoft.Web.Administration.ConfigurationElement (17)
000007fee15dde18 Microsoft.Web.Administration.ConfigurationElementCollection (5)
000007fee15df230 Microsoft.Web.Administration.ConfigurationSection (8)
(...)
Heap contains 55014 Objects in 1522 types
Creates a tree file with all types that can be viewed in WinDBG as command tree
--------------------------------------------------------------------------------
(you WILL have to copy and paste the command generated)
0:000> !windex -tree
Index is up to date
If you believe it is not, use !windex -flush to force reindex
Copy, paste and run command below:
.cmdtree C:\Users\rviana\AppData\Local\Temp\HEA4DF9.tmp
Saves index to disk (very useful for reuse in SharePoint dumps)
---------------------------------------------------------------
0:000> !windex -save c:\temp\temp.idx
Index is up to date
(...)
Hash: 5be3fd81
Index saved succesfully on c:\temp\temp.idx
Load a previously saved index file (life safer for revisiting a large dump file)
---------------------------------------------------------------------------------
0:000> !windex -load c:\temp\temp.idx
Index file c:\temp\temp.idx was loaded
List all httpcontext objects using the index
0:000> !windex -type *.httpcontext
Index is up to date
00000001559dc070 000007feda232488 System.Web.HttpContext 336 0 0
00000001559e1fb0 000007feda232488 System.Web.HttpContext 336 0 0
(...)
List all objects derived from System.Exception
0:000> !windex -implement *.Exception
Index is up to date
If you believe it is not, use !windex -flush to force reindex
0000000155829fb0 000007fee97c1348 System.Configuration.ConfigurationErrorsException 168 0 0
(...)
00000001556601c0 000007feefc08078 System.ExecutionEngineException 136 0 0
00000001556600b0 000007feefc07e58 System.OutOfMemoryException 136 0 0
0000000155660138 000007feefc07f68 System.StackOverflowException 136 0 0
0000000155660248 000007feefc08188 System.Threading.ThreadAbortException 136 0 0
00000001556602d0 000007feefc08188 System.Threading.ThreadAbortException 136 0 0
}}
{anchor:wstack}
*!wstack - Dump objects in the current thread*
{{
!wstack takes no parameter
Due to the nature of the stack objects this approach is not deterministic.
Examples:
Dumps the current stack
------------------------
0:003> !wstack
Listing objects from: 0000000001069000 to 0000000001070000 from thread: 3 [22f4]
00000001556da9a8 000007feda22c8a8 System.Web.Hosting.HostingEnvironment 0 0
00000001559dd078 000007feefc08520 System.Threading.Thread 0 0
(...)
Dump stack of all threads
-------------------------
0:003> ~*e!wstack
Listing objects from: 0000000000284000 to 0000000000290000 from thread: 0 [21a0]
Listing objects from: 000000000088e000 to 0000000000890000 from thread: 1 [263c]
Listing objects from: 0000000000cfe000 to 0000000000d00000 from thread: 2 [2d0c]
Listing objects from: 0000000001069000 to 0000000001070000 from thread: 3 [22f4]
00000001556da9a8 000007feda22c8a8 System.Web.Hosting.HostingEnvironment 0 0
00000001559dd078 000007feefc08520 System.Threading.Thread 0 0
00000001559dd128 000007feefbf62e8 System.Threading.ThreadPoolRequestQueue 0 0
(...)
}}
{anchor:wdict}
*!wdict - Dump items in a dictionary type*
{{
!wdict<address>
<address> - Address of the dictionary.
Examples:
Dumps a dictionary
------------------------
0:000> !wdict 00000001557d39f0
Items : 1
[0]:==============================================
System.__Canon key = 00000001557d2a70 CompilerVersion
System.__Canon value = 00000001557d2aa8 v2.0
}}
{anchor:whash}
*!whash - Dump items in a hash table*
{{
!whash <address>
<address> - Address of the hash table.
Examples:
Dumps a hashtable
------------------------
0:000> !whash 000000015568d0d0
Buckets : 000000015568d128
[0]:=========================================
System.Object key = 000000015568c658 utf-8
System.Object val = 000000015568d3d8
}}
{anchor:wgchandles}
*!wgchandles - List all rooted objects (handles) in heap*
{{
!wgchandles
Example:
0:000> !wgchandles
GCHandles
0: 00000001557aafc8 poi(0000000000b81000) 144 System.RuntimeType+RuntimeTypeCache - Local Var
1: 00000001557aa8e0 poi(0000000000b81008) 144 System.RuntimeType+RuntimeTypeCache - Local Var
2: 00000001557aa1d8 poi(0000000000b81010) 144 System.RuntimeType+RuntimeTypeCache - Local Var
3: 000000015579cf10 poi(0000000000b81018) 144 System.RuntimeType+RuntimeTypeCache - Local Var
4: 00000001557875e0 poi(0000000000b81020) 144 System.RuntimeType+RuntimeTypeCache - Local Var
5: 0000000155781330 poi(0000000000b81028) 144 System.RuntimeType+RuntimeTypeCache - Local Var
6: 0000000155780ae8 poi(0000000000b81030) 144 System.RuntimeType+RuntimeTypeCache - Local Var
7: 000000015577f9e0 poi(0000000000b81038) 144 System.RuntimeType+RuntimeTypeCache - Local Var
8: 000000015577ef08 poi(0000000000b81040) 144 System.RuntimeType+RuntimeTypeCache - Local Var
9: 000000015577e058 poi(0000000000b81048) 144 System.RuntimeType+RuntimeTypeCache - Local Var
10: 000000015577d700 poi(0000000000b81050) 144 System.RuntimeType+RuntimeTypeCache - Local Var
(...)
435: 00000001957082a0 poi(00000000010815e0) 64 System.Net.Logging+NclTraceSource - Static Var
436: 0000000195708218 poi(00000000010815e8) 64 System.Net.Logging+NclTraceSource - Static Var
437: 00000001956fe830 poi(00000000010815f0) 72 System.Diagnostics.SourceSwitch - Static Var
438: 00000001956f98a0 poi(00000000010815f8) 80 System.ServiceModel.Diagnostics.DiagnosticTraceSource - Static Var
439: 0000000195700708 poi(00000000010817f8) 120 System.Threading.OverlappedData - Invalid
}}
{anchor:whttp}
*!whttp - Dump HttpContext objects*
{{
!whttp [/order] [/running] [/withthread] [/status <decimal>] [/notstatus <decimal>] [/verb <string>] [<expr>]
-------
/order - If specified will show requests in chronological order and include the time stamp
/running - If specified will show requests still running
/withthread - If specified will show only requests with valid thread (it superseeds -running)
/status - If specified will show only requests with the chosen status (the value is decimal not hex like 500)
/notstatus - If specified will show only requests without the chosen status (the value is decimal not hex like 200)
/verb - If specified will show only requests with the chosen verb (e.g. POST)
<expr> - HttpContext Address. Optional. If not specified list all HttpContext objects
Examples:
List all HttpContext objects
----------------
0:000> !whttp
HttpContext Thread Time Out Running Status Verb Url
0000000184346f98 53 00:01:50 00:00:41 200 GET http://sp:80/Lists/Team Discussion/DispForm.aspx?ID=1
0000000184b4f248 -- 00:01:50 Finished 401 POST http://sp.contoso.com:80/_vti_bin/Lists.asmx
0000000184d512b8 -- 00:01:50 Finished 401 GET http://sp:80/Lists/Team Discussion/AllItems.aspx
0000000184d58f48 49 00:01:50 00:00:41 200 POST http://sp.contoso.com:80/_vti_bin/Lists.asmx
0000000184e52280 55 00:01:50 00:00:41 200 GET http://sp:80/Lists/Team Discussion/AllItems.aspx
0000000184ebf228 47 00:01:50 00:00:41 200 POST http://sp.contoso.com:80/_vti_bin/Lists.asmx
00000001c0d186e0 -- 00:01:50 Finished 200 GET http://sp.contoso.com:80/Lists/Announcements/DispForm.aspx?ID=1
List requests still running
----------------------------
0:000> !whttp -running
HttpContext Thread Time Out Running Status Verb Url
00000001027b9c40 52 00:01:50 00:00:41 200 GET http://sp.contoso.com:80/_vti_bin/SiteData.asmx?disco
0000000103f94698 -- Not set 00:00:36 200 POST /_vti_bin/Lists.asmx
00000001045f2200 58 00:01:50 00:00:41 200 GET http://sp.contoso.com:80/FormServerTemplates/Forms/All Forms.aspx
List all failed requests
----------------------------
0:000> !whttp -notstatus 200
00000001030436d0 -- 00:01:50 Finished 401 GET http://sp.contoso.com:80/Lists/Links/AllItems.aspx
00000001045be510 -- 00:01:50 Finished 401 GET http://sp.contoso.com:80/Style Library/Forms/AllItems.aspx
List requests with valid thread in order of requests
----------------------------------------------------
0:000> !whttp -withthread -order
HttpContext Start Time Thread Time Out Running Status Verb Url
0000000160450808 2/9/2011 3:39:30 PM 166 00:01:50 00:02:08 200 GET https://portal.contoso.com:443/europe/Pages/CountryHomePage.aspx?Country=Germany&Language=German
00000000e01dcfe8 2/9/2011 3:39:44 PM 177 00:01:50 00:01:54 200 GET https://portal.contoso.com:443/europe/HR/hronly/Pages/TPromotions.aspx
0000000100672238 2/9/2011 3:39:47 PM 169 00:01:50 00:01:51 200 GET https://portal.contoso.com:443/markets/europe/mcci/crm/Pages/policiesandreferences.aspx
00000000e0a49ed0 2/9/2011 3:39:48 PM 163 00:01:50 00:01:50 200 GET https://portal.contoso.com:443/markets/europe/regions/germany/Pages/Marketing.aspx
00000001209f0fc0 2/9/2011 3:39:51 PM 164 00:01:50 00:01:47 200 GET https://portal.contoso.com:443/europe/Pages/ELLPCountryHomePage.aspx?Country=Germany&Language=German
00000000c0c16608 2/9/2011 3:39:51 PM 71 00:01:50 00:01:47 200 GET https://portal.contoso.com:443/Advisory/transactionsrestructuring/Pages/Homepage.aspx
List details of a HttpContext:
---------------------------------
0:067> !whttp 00000001c30d2878
Context Info
================================
Address : 00000001c30d2878
Target/Dump Time : 1/17/2013 10:45:51 PM
Request Time : 1/17/2013 10:45:09 PM
Running time : 00:00:41
Timeout : 00:01:50
Timeout Start Time: 1/17/2013 10:45:09 PM
Timeout Limit Time: 1/17/2013 10:46:59 PM
Managed Thread Id : 9e8
Managed Thread Id : a
HttpContext.Items: 00000001c3109ae8