We kept saying
BTrace is a
safe, dynamic tracing tool for Java. To ensure safety, BTrace does not permit many constructs of Java language and also allows calls only to BTraceUtils class.But, not everyone likes safety -- sometimes developers want "unsafe" facility ("I know what I am doing"-style). We have got comments of this nature about BTrace - for example
here and
here. We have added "unsafe" mode to BTrace - you can edit "btrace" script to change
-Dcom.sun.btrace.unsafe=false
to
-Dcom.sun.btrace.unsafe=true
. In "unsafe" mode BTrace permits all Java constructs and also allows calls to arbitrary code. Like every other unsafe facility in programming, you are on own your own with this facility! You may get weird errors while instrumenting target classes and/or running transformed code. But then you know what you are doing, right?