자바 진단 도구 Arthas watch 명령
설치 하 다.
JDK 를 설치 하고 jar 패키지 로 실행 하면 됩 니 다.
wget https://alibaba.github.io/arthas/arthas-boot.jar
java -jar arthas-boot.jar
watch 진단 방법 으로 호출
Arthas 의 watch 방법 을 통 해 로 그 를 인쇄 하지 않 은 상태 에서 방법의 입력 과 반환 값 을 볼 수 있 습 니 다. 이 점 은 debug 를 인쇄 하지 않 거나 재 부팅 하지 않 으 면 현장 을 파괴 할 수 있 는 상황 에서 매우 유용 합 니 다.
arthas - boot. jar 를 실행 한 후 현재 시스템 의 모든 자바 프로 세 스 를 표시 하고 진단 할 프로 세 스 의 번 호 를 입력 하면 arthas 명령 모드 에 들 어 갑 니 다.홈 페이지 에 있 는 자바 - jar arthas - demo. jar 를 예 로 들 면 정보 안전 을 위해 회사 에 있 는 debug 정 보 를 잘 드 러 내지 않 습 니 다.
4. 567917. 먼저 sc 명령 을 이용 하여 해당 하 는 유형 을 조회 할 수 있 습 니 다
$ sc *Math*
demo.MathGame
io.netty.util.internal.MathUtil
java.lang.Math
Affect(row-cnt:3) cost in 17 ms.
4. 567917. 그리고 sm 명령 으로 대응 하 는 방법 을 조회 합 니 다
$ sm demo.MathGame*
demo.MathGame ()V
demo.MathGame primeFactors(I)Ljava/util/List;
demo.MathGame main([Ljava/lang/String;)V
demo.MathGame run()V
demo.MathGame print(ILjava/util/List;)V
Affect(row-cnt:5) cost in 9 ms.
4. 567917. watch 명령 을 이용 하여 지정 한 방법 을 감청 합 니 다. - x 매개 변 수 는 인쇄 인삼 과 반환 값 의 깊이 를 지정 할 수 있 습 니 다
$ watch demo.MathGame primeFactors "{params,returnObj}" -x 2
Press Q or Ctrl+C to abort.
Affect(class-cnt:1 , method-cnt:1) cost in 49 ms.
ts=2019-07-03 14:29:41; [cost=1.778091ms] result=@ArrayList[
@Object[][
@Integer[-136776],
],
null,
]
ts=2019-07-03 14:29:42; [cost=0.105508ms] result=@ArrayList[
@Object[][
@Integer[47524],
],
@ArrayList[
@Integer[2],
@Integer[2],
@Integer[109],
@Integer[109],
],
]
나 는 바로 이 도 구 를 이용 하여 시스템 에서 매우 이상 한 문 제 를 진단 해 냈 다.최종 원인 은 PHP 프로그램 이 자바 인 터 페 이 스 를 호출 하 는 순서 에 약간의 차이 가 있 기 때문이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.