From b253ff688fd99937d507afb0ba9885e56097b345 Mon Sep 17 00:00:00 2001 From: machunyu Date: Wed, 12 Oct 2022 16:07:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8F=92=E4=BB=B6=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E7=BB=86=E8=8A=82=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- detect-plugin/README.md | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/detect-plugin/README.md b/detect-plugin/README.md index d34a26e7..51ad7581 100644 --- a/detect-plugin/README.md +++ b/detect-plugin/README.md @@ -16,11 +16,38 @@ deadlock-detect 是一款基于OpenKylin社区kylin-code的拓展插件,用于 - 远程环境进程死锁检测 ## 使用方法 -1. C/C++ 多线程序锁分析 +#### C/C++ 多线程序锁分析 + * 打开目标C/C++工程,点击`终端`->`配置任务` 选择`deadlockdetect: 可执行程序锁检测` + task.json文件中自动添加的锁检测任务如下: + ```json + { + "type": "deadlockdetect", + "command": "被检测可执行程序", + "args": [ + "可执行程序参数(可选)" + ], + "options": { + "env": [ + "程序执行所需额外环境变量:如 DISPALY=1" + ] + }, + "problemMatcher": [], + "label": "deadlockdetect: 可执行程序锁检测" + } + ``` + 根据实际情况输入待检测程序,其中`args`,`options` 为空时可以删除。有多个检测任务时,可以修改不同的label字段。 +* 执行锁检测任务 + 1. 选择`终端`->`运行任务`->`选择相应锁检测任务`; + 2. 输入当前用户密码; + 3. IDE终端中会显示被检测程序相关输出; + 4. 当被测程序终止时,若检测到锁信息会有在相关页面展示; + 5. 也可选择在终端中右键`终止终端` 或选择菜单栏中`终端`->`终止任务`,结束被测程序执行,若检测到锁信息会有在相关页面展示。 + +#### 进程死锁检测 + 打开命令面板,选择`C/C++程序死锁检测`,默认会打开一个页面,按要求添加`进程Pid`、`用户密码`即可。 -2. 进程死锁检测 - - -3. 远程进程死锁检测 +#### 远程进程死锁检测 + 确保远程主机及用户可以`SSH`登录 本地依赖工具`sshpass` + 打开命令面板,选择`C/C++程序死锁检测`,默认会打开一个页面,按要求添加`进程Pid`、`远程用户`、`远程IP地址`、`远程登录密码`即可。 \ No newline at end of file