Command: !EHInfo
!EHInfo (<MethodDesc address> | <Code address>)
!EHInfo shows the exception handling blocks in a jitted method. For each handler, it shows the type, including code addresses and offsets for the clause block and the handler block. For a TYPED handler, this would be the “try” and “catch” blocks respectively.
Sample output:
!clrstack OS Thread Id: 0xb10 (2832) ESP EIP 0012f3c0 00ff019a IEnumerableTest.Utils.EnumToArray[[IEnumerableTest.Program+RoleType, LinqSelectTest]]() 0012f424 00ff00b9 IEnumerableTest.Program.Main(System.String[]) 0012f69c 79e71b4c [GCFrame: 0012f69c] !ip2md 00ff00b9 MethodDesc: 00933000 !ehinfo 00933000 MethodDesc: 00933000 Method Name: IEnumerableTest.Program.Main(System.String[]) Class: 00931338 MethodTable: 0093301c mdToken: 06000002 Module: 00932c5c IsJitted: yes CodeAddr: 00ff0070 EHHandler 0: TYPED Clause: [033bbd2b, 033bbd3c] [8b, 9c] Handler: [033bbd3c, 033bbd50] [9c, b0] EHHandler 1: FINALLY Clause: [033bbd83, 033bbda3] [e3, 103] Handler: [033bbda3, 033bbdc5] [103, 125] EHHandler 2: TYPED Clause: [033bbd7a, 033bbdc5] [da, 125] Handler: [033bbdc5, 033bbdd6] [125, 136]