设置断点
set_breakpointSets a software breakpoint at a function, variable, or address during Keil debug sessions. Automatically normalizes Thumb-bit addresses and returns failure diagnosis with next-step guidance.
Instructions
在指定符号或地址处设置软件断点。expr 可为函数名/变量名(如 'main')或地址(如 '0x08001034')。返回是否成功。地址路径与符号路径做同一套归一:入参地址若带 Thumb 位(bit0=1,常见于函数指针)会自动按偶地址下断并返回 thumb_bit_stripped/address_normalized——真机实测 Keil 的 BS 对奇数地址一律报 error 57: illegal address,而符号名路径经 calc_expression 拿到的是偶地址,所以只有裸地址会踩这个坑。设断点失败时返回 diagnosis(错误码含义 + 地址落在哪个区 + 是否在 .axf 覆盖范围 + 下一步建议)。另外:设断点走命令窗口 BS,会触发 Keil 异步推送断点消息,紧随其后的命令响应可能被污染(本工具已改为先 calc_expression 取地址再 BS 0xaddr);设断点后立即 run/step 前需稍等异步消息落地。需已进入调试且配置 .axf。
【参数】必填: expr;可选: 无
【调用示例】{"expr": "main"}
【风险】高——不可逆:会改写目标 Flash/内存,或关闭/重启用户的 Keil 实例。执行前确认目标与工程正确。
【参数别名】expr ← addr/address/expression/func/function/keyword/location/name/pattern/pc/query/symbol/target/var/variable。规范名以上方【参数】行为准;未列出的参数名会被拒绝,不会静默忽略
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| expr | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |