awtk/docs/manual/debugger_t.md
2022-12-05 12:10:53 +08:00

14 KiB
Raw Blame History

debugger_t

概述

调试器接口。

函数

函数名称 说明
debugger_attach 附近到指定的代码片段。
debugger_clear_break_points 清除全部断点。
debugger_continue 执行到下一个断点。
debugger_deinit 释放资源。
debugger_get_break_points 获取断点列表。
debugger_get_callstack 获取callstack。
debugger_get_code 获取代码。
debugger_get_debuggers 获取调试器列表。
debugger_get_global 获取全局对象。
debugger_get_local 获取局部变量对象。
debugger_get_self 获取self对象。
debugger_is_paused 查看当前是否处于暂停运行状态。
debugger_launch 执行代码。
debugger_lock 锁定debugger对象。
debugger_match 检查code_id是否与当前debugger匹配。
debugger_next 执行到下一行代码。
debugger_pause 暂停运行。
debugger_remove_break_point 清除断点。
debugger_restart 重新运行。
debugger_set_break_point 设置断点。
debugger_step_in 进入函数。
debugger_step_out 执行到函数结束。
debugger_step_over 执行下一条语句(跳过循环)
debugger_stop 停止运行。
debugger_unlock 解锁debugger对象。
debugger_update_code 更新代码。

debugger_attach 函数


  • 函数功能:

附近到指定的代码片段。

  • 函数原型:
ret_t debugger_attach (debugger_t* debugger, const char* lang, const char* code_id);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。
lang const char* 代码的语言。
code_id const char* 代码的ID。

debugger_clear_break_points 函数


  • 函数功能:

清除全部断点。

  • 函数原型:
ret_t debugger_clear_break_points (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_continue 函数


  • 函数功能:

执行到下一个断点。 处于暂停状态才能执行本命令。

  • 函数原型:
ret_t debugger_continue (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_deinit 函数


  • 函数功能:

释放资源。

  • 函数原型:
ret_t debugger_deinit (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_get_break_points 函数


  • 函数功能:

获取断点列表。

  • 函数原型:
ret_t debugger_get_break_points (debugger_t* debugger, binary_data_t* break_points);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。
break_points binary_data_t* 断点列表(每行一个)。

debugger_get_callstack 函数


  • 函数功能:

获取callstack。

  • 函数原型:
ret_t debugger_get_callstack (debugger_t* debugger, binary_data_t* callstack);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。
callstack binary_data_t* callstack。

debugger_get_code 函数


  • 函数功能:

获取代码。

  • 函数原型:
ret_t debugger_get_code (debugger_t* debugger, binary_data_t* code);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。
code binary_data_t* 代码。

debugger_get_debuggers 函数


  • 函数功能:

获取调试器列表。

  • 函数原型:
ret_t debugger_get_debuggers (debugger_t* debugger, binary_data_t* debuggers);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。
debuggers binary_data_t* 调试器列表(每行一个)。

debugger_get_global 函数


  • 函数功能:

获取全局对象。 处于暂停状态才能执行本命令。

  • 函数原型:
tk_object_t* debugger_get_global (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 tk_object_t* 返回全局对象。
debugger debugger_t* debugger对象。

debugger_get_local 函数


  • 函数功能:

获取局部变量对象。 处于暂停状态才能执行本命令。

  • 函数原型:
tk_object_t* debugger_get_local (debugger_t* debugger, uint32_t frame_index);
  • 参数说明:
参数 类型 说明
返回值 tk_object_t* 返回局部变量对象。
debugger debugger_t* debugger对象。
frame_index uint32_t frame序数(0表示当前)

debugger_get_self 函数


  • 函数功能:

获取self对象。 处于暂停状态才能执行本命令。

  • 函数原型:
tk_object_t* debugger_get_self (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 tk_object_t* 返回self对象。
debugger debugger_t* debugger对象。

debugger_is_paused 函数


  • 函数功能:

查看当前是否处于暂停运行状态。

  • 函数原型:
bool_t debugger_is_paused (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 bool_t 返回TRUE表示处于暂停运行状态。
debugger debugger_t* debugger对象。

debugger_launch 函数


  • 函数功能:

执行代码。

  • 函数原型:
ret_t debugger_launch (debugger_t* debugger, const char* lang, const binary_data_t* code);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。
lang const char* 代码的语言。
code const binary_data_t* 代码。

debugger_lock 函数


  • 函数功能:

锁定debugger对象。

  • 函数原型:
ret_t debugger_lock (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_match 函数


  • 函数功能:

检查code_id是否与当前debugger匹配。

  • 函数原型:
bool_t debugger_match (debugger_t* debugger, const char* code_id);
  • 参数说明:
参数 类型 说明
返回值 bool_t 返回TRUE表示匹配到。
debugger debugger_t* debugger对象。
code_id const char* 代码ID。

debugger_next 函数


  • 函数功能:

执行到下一行代码。 处于暂停状态才能执行本命令。

  • 函数原型:
ret_t debugger_next (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_pause 函数


  • 函数功能:

暂停运行。 暂停后才能执行next/step_xxx等函数。

  • 函数原型:
ret_t debugger_pause (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_remove_break_point 函数


  • 函数功能:

清除断点。

  • 函数原型:
ret_t debugger_remove_break_point (debugger_t* debugger, uint32_t line);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。
line uint32_t 代码行号。

debugger_restart 函数


  • 函数功能:

重新运行。

  • 函数原型:
ret_t debugger_restart (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_set_break_point 函数


  • 函数功能:

设置断点。

  • 函数原型:
ret_t debugger_set_break_point (debugger_t* debugger, uint32_t line);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。
line uint32_t 代码行号。

debugger_step_in 函数


  • 函数功能:

进入函数。 处于暂停状态才能执行本命令。

  • 函数原型:
ret_t debugger_step_in (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_step_out 函数


  • 函数功能:

执行到函数结束。 处于暂停状态才能执行本命令。

  • 函数原型:
ret_t debugger_step_out (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_step_over 函数


  • 函数功能:

执行下一条语句(跳过循环) 处于暂停状态才能执行本命令。

  • 函数原型:
ret_t debugger_step_over (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_stop 函数


  • 函数功能:

停止运行。

  • 函数原型:
ret_t debugger_stop (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_unlock 函数


  • 函数功能:

解锁debugger对象。

  • 函数原型:
ret_t debugger_unlock (debugger_t* debugger);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。

debugger_update_code 函数


  • 函数功能:

更新代码。

  • 函数原型:
ret_t debugger_update_code (debugger_t* debugger, const binary_data_t* code);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
debugger debugger_t* debugger对象。
code const binary_data_t* 代码。