|
|
|
@ -16,9 +16,28 @@
|
|
|
|
|
|
|
|
|
|
### 安装到本地
|
|
|
|
|
|
|
|
|
|
本地开发时,可以执行`as-package.sh`来打包,会自动安装最新版本的arthas到`~/.arthas`目录里。debug时会自动使用最新版本。
|
|
|
|
|
本地开发时,推荐执行`as-package.sh`来打包,会自动安装最新版本的arthas到`~/.arthas`目录里。debug时会自动使用最新版本。
|
|
|
|
|
|
|
|
|
|
也可以直接 `mvn clean package -DskipTests`打包,生成的zip在 `packaging/target/` 下面
|
|
|
|
|
`as.sh`在启动时,会对`~/.arthas/lib`下面的目录排序,取最新的版本。`as-package.sh`在打包时,会取`pom.xml`里的版本号,再拼接上当前时间,比如: `3.0.5.20180917161808`,这样子排序时取的就是最新的版本。
|
|
|
|
|
|
|
|
|
|
也可以直接 `./mvnw clean package -DskipTests`打包,生成的zip在 `packaging/target/` 下面。但是注意`as.sh`启动加载的是`~/.arthas/lib`下面的版本。
|
|
|
|
|
|
|
|
|
|
### Debug
|
|
|
|
|
|
|
|
|
|
Arthas启动过程分为两部分:
|
|
|
|
|
|
|
|
|
|
1. 执行`com.taobao.arthas.core.Arthas`,查找到合适的jvm,然后attach上面。如果想debug这部分代码,可以直接
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
./as.sh debug pid
|
|
|
|
|
```
|
|
|
|
|
JPDA端口是`8888`,然后可以远程连接来debug。
|
|
|
|
|
如果启动时等待,则
|
|
|
|
|
```
|
|
|
|
|
JPDA_SUSPEND=y ./as.sh debug pid
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
1. attach成功之后,arthas agent运行目标进程里。想要调试agent的代码,则需要目标进程本身是以debug方式启动的。可以直接引入arthas的source,打断点
|
|
|
|
|
|
|
|
|
|
### 全量打包
|
|
|
|
|
|
|
|
|
@ -29,7 +48,7 @@
|
|
|
|
|
* 全量打包时,需要配置下面的参数(目前只支持mac/linux):
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
mvn clean package -DskipTests -P full -Dsphinx.binUrl=https://github.com/hengyunabc/sphinx-binary/releases/download/v0.4.0.1/sphinx.osx-x86_64
|
|
|
|
|
./mvnw clean package -DskipTests -P full -Dsphinx.binUrl=https://github.com/hengyunabc/sphinx-binary/releases/download/v0.4.0.1/sphinx.osx-x86_64
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|