[arthas@36228]$ trace jp.co.srm.util.SrmToolUtil * -E "{params, args}" Affect(class count: 0 , method count: 0) cost in 119 ms, listenerId: 14 Enhance error! exception: java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
时间: 2024-02-28 08:56:37 浏览: 183
这个错误的原因是你在使用`trace`命令时,通配符`*`的使用不正确。根据你的命令,你想要跟踪`jp.co.srm.util.SrmToolUtil`类中的所有方法,并在方法抛出异常时打印出方法的参数信息。但是,你在命令中使用了`*`通配符,导致Arthas无法正确解析命令,出现错误。
正确的命令应该是:
```
trace jp.co.srm.util.SrmToolUtil * "{params, throwable}"
```
这个命令可以跟踪`jp.co.srm.util.SrmToolUtil`类中的所有方法,并在方法抛出异常时打印出方法的参数信息。
需要注意的是,在使用通配符时应该遵循一些使用细节,例如:
1. 通配符`*`只能出现在类名或方法名的末尾,不能出现在中间或开头。
2. 通配符`*`只能匹配方法名,不能匹配方法的参数和返回值类型。
如果不确定使用方法,可以查看Arthas官方文档或者使用`help`命令查看相关命令的使用说明。
相关问题
arthas 3.6.9版本 ognl 指令访问方法和变量。 类:com.cecjx.web.controller.business.LicRequestUiController 类的方法:public TableDataInfo selectLicRequestRemarksList(@RequestParam("reqNo") String reqNo, ModelMap mmap) 类的变量:@Value("${seal.uuid}") private String sealUuid;
你好!针对你的问题,arthas 3.6.9 版本中 OGNL 指令访问方法和变量的语法如下:
1. 访问方法:#{class.method(args)}
其中,class 是要访问方法的类名,method 是要访问的方法名,args 是方法的参数。对于你提供的类和方法,可以使用以下命令访问:
```
ognl #{com.cecjx.web.controller.business.LicRequestUiController.selectLicRequestRemarksList('reqNoValue', new org.springframework.ui.ModelMap())}
```
其中,'reqNoValue' 是 reqNo 参数的值,new org.springframework.ui.ModelMap() 是 mmap 参数的值。
2. 访问变量:${expression}
其中,expression 是要访问的变量名或表达式。对于你提供的变量,可以使用以下命令访问:
```
ognl ${seal.uuid}
```
其中,seal.uuid 是要访问的变量名。
希望能够解决你的问题!
arthas 报错exception message: ognl.OgnlException: Could not get static field
这个错误通常是由于OGNL表达式在访问静态字段时发生了错误。OGNL是一种表达式语言,可以用于访问Java对象的属性和方法。在Arthas中,OGNL被广泛用于执行命令和监视Java应用程序。
解决此错误的步骤如下:
1. 检查OGNL表达式是否正确。确保您使用的表达式正确地引用了静态字段。
2. 检查静态字段是否存在。如果您确信该字段存在,请检查您是否正确地指定了类的名称和字段名称。
3. 如果您在使用Arthas的时候遇到此错误,请检查您是否正确地使用了命令。如果您不确定如何使用命令,请查看Arthas的文档或寻求帮助。
希望这些步骤可以帮助您解决此错误。如果您仍然遇到问题,请提供更多细节,以便我能够更好地帮助您。
阅读全文