跳到主要内容

代码打桩

代码打桩是代码测试使用的。激活木桩后,可以执行木桩代码。木桩的名字是任意取的。

FE 和 BE 都支持代码打桩。

木桩代码示例

FE 桩子示例代码

private Status foo() {  
// dbug_fe_foo_do_nothing 是一个木桩名字,
// 打开这个木桩之后,DebugPointUtil.isEnable("dbug_fe_foo_do_nothing") 将会返回 true
if (DebugPointUtil.isEnable("dbug_fe_foo_do_nothing")) {
return Status.Nothing;
}

do_foo_action();

return Status.Ok;
}

BE 桩子示例代码

void Status foo() {

// dbug_be_foo_do_nothing 是一个木桩名字,
// 打开这个木桩之后,DEBUG_EXECUTE_IF 将会执行宏参数中的代码块
DEBUG_EXECUTE_IF("dbug_be_foo_do_nothing", { return Status.Nothing; });

do_foo_action();

return Status.Ok;
}

总开关

需要把木桩总开关 enable_debug_points 打开之后,才能激活木桩。默认情况下,木桩总开关是关闭的。

总开关enable_debug_points 分别在 FE 的 fe.conf 和 BE 的 be.conf 中配置。

打开木桩

API

	POST /api/debug_point/add/{debug_point_name}[?timeout=<int>&execute=<int>]

参数

  • debug_point_name 木桩名字。必填。

  • timeout 超时时间,单位为秒。超时之后,木桩失活。默认值 -1 表示永远不超时。可填。

  • execute 木桩最大激活次数。默认值 -1 表示不限激活次数。可填。

Request body

Response

```
{
msg: "OK",
code: 0
}
```

Examples

打开木桩 foo,最多激活 5 次。

```
curl -X POST "http://127.0.0.1:8030/api/debug_point/add/foo?execute=5"

```

关闭木桩

API

	POST /api/debug_point/remove/{debug_point_name}

参数

  • debug_point_name 木桩名字。必填。

Request body

Response

    {
msg: "OK",
code: 0
}

Examples

关闭木桩foo

```
curl -X POST "http://127.0.0.1:8030/api/debug_point/remove/foo"

```

清除所有木桩

API

	POST /api/debug_point/clear

Request body

Response

```
{
msg: "OK",
code: 0
}
```

Examples

清除所有木桩。

```
curl -X POST "http://127.0.0.1:8030/api/debug_point/clear"
```