-
Notifications
You must be signed in to change notification settings - Fork 215
FAQCN
指Class.getName()结果中除去包名的部分, 例如java.lang.String的SimpleName是String.
执行 loaded SimpleName 的结果中 -> 右侧的路径就是此类加载的来源.
支持, 键入你期望提示的SimpleName的首字母, 再键入Tab则会罗列全部SimpleName的候选列表.
若列表过长则会显示列表的总数, 并询问你是否要查看, 键入y查看, 键入n取消.
若列表只有一个时, SimpleName会自动补全.
执行 loaded -h SimpleName 的结果中, 从第二行显示的是第一行类的类加载器, 第二行之后的每一行显示的是上一行的父类加载器.
假定一段时间是30 秒, 从开始时间起, 执行 trace -t 30 SimpleName.methodName 的结果实时摘要中, 每行的第三列数字表明了调用的次数.
若不指定
-t, 则默认为10秒;
默认情况下, 每行显示的间隔时间为
1秒钟;
其余列的含义, 请见使用指南.
更多选项, 请执行
help trace
假定要指定的间隔时间为3秒, 执行 trace -i 3 SimpleName.methodName, 则实时摘要会每隔3秒显示一行最新的信息.
更多选项, 请执行
help trace.
trace在设计上为了尽可能减少对正在运行的java进程影响, 设定了-t和-l两个选项来限制一次trace的周期. 出现上述情况, 是因为-l的默认值1000的条件已经达成, 导致trace过程自动结束. 若一定要trace足够长的时间, 请调整一个合适-l选项的值.
强烈建议
trace的周期越短越好;
更多选项, 请执行
help trace.
假定要过滤以com.example开头的包名, 则执行 trace -p com\.example.* SimpleName.methodName, 其结果会将只会显示以com.example开头包名下的SimpleName的方法调用信息.
-p的值为正则表达式;
更多选项, 请执行
help trace.
执行trace命令时, 增加-d选项, 如trace -d SimpleName.methodName. 之后更详细的信息会输出到一个文件(这文件的路径请通过执行help trace, 查看-d选项的说明中获知), 其中每行各列的含义说明请见使用指南
执行trace命令时, 增加-s选项, 如trace -s SimpleName.methodName. 之后方法调用栈的信息会输出到一个文件(这文件的路径请通过执行help trace, 查看-s选项的说明中获知)
执行trace是仅键入SimpleName就可以了, 如trace Simplename.
支持, 和loaded命令一样.
支持, 在键入SimpleName.之后, 键入Tab会提示所有此类声明的方法(包括public/protected/default/private可见的方法, 但v0.2.1后不含继承下来的方法)
trace不支持模糊SimpleName的匹配, 相信知道SimpleName不是一件难事:)
v0.2.1后可以, 假定你要trace Runnable, 则执行trace Runnable+.run, 则所有 直接 实现Runnable接口的实现类的run方法都将被trace.
注意, 间接实现不包含在内, 如
C -> B -> A, 要通过A来trace的话,C不会包含在内;
SimpleName的自动提示列表中, 为接口的SimpleName末尾都有一个+标识.
v0.2.1后可以, 和接口一样, 执行trace SimpleName+.methodName.
注意, 若指定方法不是抽象的(
abstract), 则此方法会被trace, 当其直接子类也覆写(override)此方法, 覆写的方法也将被trace
呃, 在trace命令中无法区分, 但在实时现实的结果中会现实方法的参数列表, 这里是可以区分的.
访问权限受限导致无法attach目标进程, 请使用启动目标进程的账户再次尝试.
即使用户不变,在VirtualBox的共享目录下执行houseMD依然出现同样问题,请把houseMD和目标程序迁移到非共享目录再次尝试.
网络问题导致jar下载得不完整, 请尝试重新下载.
在 Windows下, 使用SecureCRT是请确保终端类型是Linux, 即菜单Options -> Session Options -> Terminal -> Emulation -> Terminal 的选项是Linux.