-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStackWalking.java
More file actions
41 lines (35 loc) · 1.07 KB
/
StackWalking.java
File metadata and controls
41 lines (35 loc) · 1.07 KB
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
import java.util.Set;
import static java.lang.StackWalker.Option.RETAIN_CLASS_REFERENCE;
import static java.lang.StackWalker.Option.SHOW_HIDDEN_FRAMES;
/**
* Created by mtumilowicz on 2019-02-18.
*/
class StackWalking {
void m1() {
m2();
}
private void m2() {
m3();
}
private void m3() {
System.out.println("---");
System.out.println("stack from m3():");
StackWalker.getInstance(Set.of(RETAIN_CLASS_REFERENCE, SHOW_HIDDEN_FRAMES), 4)
.walk(frames -> {
frames.limit(4).forEach(System.out::println);
return null;
});
System.out.println("---");
m4();
}
private void m4() {
System.out.println("---");
System.out.println("stack from m4():");
StackWalker.getInstance(Set.of(RETAIN_CLASS_REFERENCE, SHOW_HIDDEN_FRAMES), 5)
.walk(frames -> {
frames.limit(5).forEach(System.out::println);
return null;
});
System.out.println("---");
}
}