1# cem工具
2
3Common Event Manager(公共事件管理工具, 简称cem)是实现公共事件信息打印、发布公共事件等功能的工具,为开发者提供基本的公共事件调试和测试能力,例如打印所有公共事件订阅者、已发送公共事件和接受者、模拟发布公共事件等。
4
5## 环境要求
6
7在使用本工具前,开发者需要先获取<!--Del-->[<!--DelEnd-->hdc工具<!--Del-->](../../device-dev/subsystems/subsys-toolchain-hdc-guide.md)<!--DelEnd-->,执行hdc shell。
8
9## cem工具命令列表
10
11| 命令 | 描述 |
12| ---- | --- |
13| help | 帮助命令,用于显示cem相关的帮助信息。 |
14| publish | 发布命令,用于发布公共事件。 |
15| dump | 打印命令,用于打印公共事件相关信息。 |
16
17## 帮助命令(help)
18
19  ```bash
20  # 显示cem相关的帮助信息
21  cem help
22  ```
23
24## 发布命令(publish)
25
26  ```bash
27  # 发布公共事件
28  cem publish [<options>]
29  ```
30
31  **发布命令参数列表**
32
33  | 参数         | 参数说明                                    |
34  | ------------ | ------------------------------------------ |
35  | -e/--event   | 必选参数,发布事件名称。                     |
36  | -o/--ordered | 可选参数,发布有序事件,默认发布无序事件。     |
37  | -c/--code    | 可选参数,公共事件结果码。                   |
38  | -d/--data    | 可选参数,公共事件携带数据。                 |
39  | -h/--help    | 帮助信息。                                 |
40
41  **示例**:
42
43  ```bash
44  # 发布名称为testevent的公共事件
45  cem publish --event "testevent"
46  ```
47
48  ```bash
49  # 发布名称为testevent的有序公共事件,该事件的结果码为100,携带数据内容为“this is data”
50  cem publish -e "testevent" -o -c 100 -d "this is data"
51  ```
52
53## 打印命令(dump)
54
55> **说明:**
56>
57> 当前工具区分eng与user版本。dump命令仅支持在eng版本中使用,在user版本中使用会出现报错error: user version cannot use dump。
58
59  ```bash
60  # 打印公共事件相关信息
61  cem dump [<options>]
62  ```
63
64  **打印命令参数列表**
65
66  | 参数       | 参数说明                                     |
67  | ---------- | -------------------------------------------- |
68  | -a/--all   | 打印开机以来所有已发送的公共事件及其具体信息。 |
69  | -e/--event | 查询特定名称事件的具体信息。                   |
70  | -h/--help  | 帮助信息。                                     |
71
72  **示例**:
73
74  ```bash
75  # 打印公共事件名称为testevent的具体信息
76  cem dump -e "testevent"
77  ```
78