arthas 上级调用
时间: 2023-12-12 18:34:23 浏览: 107
Arthas可以通过`sc`命令查看当前类的调用栈,包括上级调用和下级调用。具体操作步骤如下:
1.使用`jps`命令查看Java进程号,找到需要诊断的Java进程号。
2.使用`arthas`命令连接Java进程:`./arthas-boot.jar ${PID}`。
3.使用`sc`命令查看当前类的调用栈:`sc -d 3 -n 5 com.example.demo.controller.DemoController sayHello`,其中`-d`表示调用栈深度,`-n`表示每个方法展示的调用次数,`com.example.demo.controller.DemoController`为需要查看的类名,`sayHello`为需要查看的方法名。
以下是一个示例:
```shell
$ jps
12345 DemoApplication
$ java -jar arthas-boot.jar 12345
$ sc -d 3 -n 5 com.example.demo.controller.DemoController sayHello
```
相关问题
arthas 查看调用栈
可以使用Arthas的`trace`命令来查看调用栈。具体步骤如下:
1. 进入arthas的命令行界面,输入`arthas <pid>`连接到目标Java进程。
2. 执行`trace com.example.demo.arthas.user.UserController *`命令,其中`com.example.demo.arthas.user.UserController`是你要跟踪的类名,`*`表示跟踪该类的所有方法。
3. 在程序中触发该类的方法,Arthas会输出该方法的调用栈信息。
另外,如果你想要在调用栈中只显示某些方法的信息,可以使用`trace`命令的`-m`参数,例如`trace com.example.demo.arthas.user.UserController * -m testMethod`表示只显示`testMethod`方法的调用栈信息。
arthas 定位这个方法的调用次数及调用堆栈信息
可以使用arthas的`trace`命令来定位方法的调用次数及调用堆栈信息。具体操作如下:
1. 进入arthas控制台,通过`dashboard`命令查看当前应用的进程号。
2. 执行`trace <类名> <方法名>`命令,例如`trace com.example.demo.service.UserService getUserInfo`,表示跟踪`UserService`类中的`getUserInfo`方法。
3. arthas会输出该方法的调用次数及调用堆栈信息。可以通过按下键盘上的`Q`键来退出跟踪。
除了`trace`命令,arthas还提供了其他一些命令用于跟踪方法调用,例如`stack`、`watch`、`monitor`等。可以根据具体情况选择使用。
阅读全文