Commit 62a7002
committed
Fix inaccessible fields capture
NoSuchFieldException can be thrown if we try to capture, through
reflection, (static) fields from JDK classes or from another module.
To fix this we need to catch eventual exception thrown by accessing
field values.
For that we continue to try to access directly to field when possible
because it will be faster, but when we detect fields are not
accessible we use another method that try to access it through
reflection but could catch exception if not and returns a
CapturedValue instance filled with the reason of this exception.1 parent ca680ba commit 62a7002
4 files changed
Lines changed: 226 additions & 44 deletions
File tree
- dd-java-agent/agent-debugger
- debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/el
- src
- main/java/com/datadog/debugger/instrumentation
- test
- java/com/datadog/debugger/agent
- resources/com/datadog/debugger
Lines changed: 56 additions & 17 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | | - | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
22 | 23 | | |
23 | 24 | | |
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 | + | |
25 | 58 | | |
26 | 59 | | |
27 | | - | |
| 60 | + | |
28 | 61 | | |
29 | 62 | | |
30 | 63 | | |
| |||
34 | 67 | | |
35 | 68 | | |
36 | 69 | | |
37 | | - | |
| 70 | + | |
38 | 71 | | |
39 | 72 | | |
40 | 73 | | |
| |||
44 | 77 | | |
45 | 78 | | |
46 | 79 | | |
47 | | - | |
| 80 | + | |
48 | 81 | | |
49 | 82 | | |
50 | 83 | | |
| |||
54 | 87 | | |
55 | 88 | | |
56 | 89 | | |
57 | | - | |
| 90 | + | |
58 | 91 | | |
59 | 92 | | |
60 | 93 | | |
| |||
64 | 97 | | |
65 | 98 | | |
66 | 99 | | |
67 | | - | |
| 100 | + | |
68 | 101 | | |
69 | 102 | | |
70 | 103 | | |
| |||
74 | 107 | | |
75 | 108 | | |
76 | 109 | | |
77 | | - | |
| 110 | + | |
78 | 111 | | |
79 | 112 | | |
80 | 113 | | |
| |||
84 | 117 | | |
85 | 118 | | |
86 | 119 | | |
87 | | - | |
| 120 | + | |
88 | 121 | | |
89 | 122 | | |
90 | 123 | | |
| |||
94 | 127 | | |
95 | 128 | | |
96 | 129 | | |
97 | | - | |
| 130 | + | |
98 | 131 | | |
99 | 132 | | |
100 | 133 | | |
| |||
104 | 137 | | |
105 | 138 | | |
106 | 139 | | |
107 | | - | |
| 140 | + | |
108 | 141 | | |
109 | 142 | | |
110 | 143 | | |
111 | 144 | | |
112 | 145 | | |
113 | 146 | | |
114 | | - | |
| 147 | + | |
115 | 148 | | |
116 | 149 | | |
117 | 150 | | |
118 | 151 | | |
119 | 152 | | |
120 | 153 | | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
121 | 166 | | |
122 | 167 | | |
123 | 168 | | |
| |||
126 | 171 | | |
127 | 172 | | |
128 | 173 | | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | 174 | | |
136 | 175 | | |
137 | 176 | | |
| |||
Lines changed: 49 additions & 27 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | 3 | | |
5 | 4 | | |
6 | 5 | | |
| |||
17 | 16 | | |
18 | 17 | | |
19 | 18 | | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
793 | 793 | | |
794 | 794 | | |
795 | 795 | | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
796 | 813 | | |
797 | 814 | | |
798 | 815 | | |
799 | 816 | | |
800 | 817 | | |
801 | | - | |
802 | | - | |
803 | | - | |
804 | | - | |
805 | | - | |
806 | | - | |
807 | | - | |
808 | | - | |
809 | | - | |
| 818 | + | |
| 819 | + | |
810 | 820 | | |
811 | 821 | | |
812 | 822 | | |
| |||
855 | 865 | | |
856 | 866 | | |
857 | 867 | | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
858 | 885 | | |
859 | 886 | | |
860 | 887 | | |
| |||
867 | 894 | | |
868 | 895 | | |
869 | 896 | | |
| 897 | + | |
| 898 | + | |
870 | 899 | | |
871 | 900 | | |
872 | 901 | | |
| |||
875 | 904 | | |
876 | 905 | | |
877 | 906 | | |
| 907 | + | |
| 908 | + | |
878 | 909 | | |
879 | 910 | | |
880 | 911 | | |
881 | 912 | | |
882 | 913 | | |
883 | | - | |
884 | | - | |
885 | | - | |
886 | | - | |
887 | | - | |
888 | | - | |
889 | | - | |
890 | | - | |
891 | | - | |
892 | | - | |
893 | | - | |
894 | | - | |
895 | | - | |
896 | | - | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
897 | 921 | | |
898 | 922 | | |
899 | | - | |
900 | | - | |
901 | 923 | | |
902 | 924 | | |
903 | 925 | | |
904 | | - | |
| 926 | + | |
905 | 927 | | |
906 | 928 | | |
907 | 929 | | |
| |||
Lines changed: 55 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| 93 | + | |
93 | 94 | | |
94 | 95 | | |
95 | 96 | | |
| |||
759 | 760 | | |
760 | 761 | | |
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 | + | |
762 | 803 | | |
763 | 804 | | |
764 | 805 | | |
| |||
2323 | 2364 | | |
2324 | 2365 | | |
2325 | 2366 | | |
| 2367 | + | |
| 2368 | + | |
| 2369 | + | |
| 2370 | + | |
| 2371 | + | |
| 2372 | + | |
| 2373 | + | |
| 2374 | + | |
| 2375 | + | |
| 2376 | + | |
| 2377 | + | |
| 2378 | + | |
| 2379 | + | |
| 2380 | + | |
2326 | 2381 | | |
2327 | 2382 | | |
2328 | 2383 | | |
| |||
0 commit comments