MTK断点调试的几种方法
当我们在VS 平台下调试模拟器的时候,苦于找不到设置断点的地方,所以快度找到常用断点的地方很重要.
1.在模拟器中使用断点
模拟器中断跟踪断点设置函数: // 触屏相关 wgui_touch_screen.c wgui_general_pen_down_hdlr // 触摸屏按下函数 wgui_general_pen_move_hdlr // 触摸屏移动函数 wgui_general_pen_down_hdlr // 触摸屏松开函数 wgui_general_pen_repeat_hdlr // 重复 wgui_general_pen_abort_hdlr // 放弃操作
在wingui.c 此函数中setup_UI_wrappers有相关全局变量的初始赋值和定义 EntryNewScreen // 进入一个新的screen都会调用的函数 ExecuteCurrKeyHandler // 执行按键的函数 ExecuteCurrHiliteHandler ExecuteCurrHiliteHandler_Ext // 执行当前高亮的函数 ExecuteCurrProtocolHandler //执行当前协议栈的函数 execute_softkey_function //执行softkey的函数 UI_fill_rectangle // 填充一个矩形框 UI_draw_vertical_line // 画一条垂直线 UI_draw_horizontal_line // 画一条水平线 UI_draw_dotted_horizontal_line //水平虚线 UI_draw_dotted_vertical_line // 垂直虚线 UI_print_text // 画一个字符串 UI_print_bordered_text // 画一个有边色字符串 UI_print_text_n // 画一个有n个字符的字符串 UI_print_bordered_text_n // 画一个有n个字符的带边框色字符串 UI_print_bordered_character //画一个的带边框色字符 UI_print_character //画一个字符 gdi_image_draw //从绘图事件开始跟踪的函数 _show_image // 画一个gif _show_transparent_image //画有设透明色的图片 _show_animation_frame // 画设置祯数的图片 gdi_layer_blt_previous // 同一个layer刷新某一区域的函数 gdi_layer_blt_ext // 几个layer叠加显示时刷新某一区域的函数 UI_BLT_double_buffer //刷新一块区域 UI_set_font //设置字体 3。在模拟器中设置变量值改变的断点 4。搜索菜单ID 如MAIN_MENU_ENTERTAINMENT_MENU_ID 5。搜索字符串ID如MAIN_MENU_MENU_TEXT 6。搜索图片ID 如MAIN_MENU_PHONEBOOK_ICON 7. 超级终端调试: 8.Catcher调试
2.MMI绘制设置断点
跟踪屏幕每一处字串绘制: 设置断点UI_move_text_cursor: gui_move_text_cursor =UI_move_text_cursor
图标测量: 设置断点_measure_image gui_measure_image = _measure_image
图标显示:
设置断点_show_image gui_show_image = _show_image
水平线和垂直线的绘制:
设置断点UI_draw_vertical_line和UI_draw_horizontal_line
gui_draw_vertical_line = UI_draw_vertical_line; gui_draw_horizontal_line = UI_draw_horizontal_line;
字串测量、坐标位置、打印:
设置断点UI_print_text、UI_measure_string 、 UI_move_text_cursor gui_measure_string = UI_measure_string gui_move_text_cursor =UI_move_text_cursor gui_print_text =UI_print_text
另外 EntryNewScreen() dm_redraw_category_screen 也是非常有用的地方
相关文章
- Foxit福昕高级PDF编辑器 Pro v12.1软件安装包免费下载以及安装教程
- Foxit福昕高级PDF编辑器软件安装包免费下载以及安装教程pdf编辑器全版本下载
- Tensorflow中的优化器
- Web3 协议的前 5 个区块链
- 蓝桥杯寒假集训第8天(递增三元组)
- (七)汇编语言——更灵活的定位内存地址的方法
- 信息安全技术 实体鉴别保障框架
- Compose跨平台第一弹:体验Compose for Desktop
- Go 何时使用泛型
- Linux 命令(239)—— expect 命令
- Linux 命令(240)—— tput 命令
- FFmpeg循环推流脚本
- 嵌入式:AD接口设计
- 使用KVM创建OEL虚拟机
- 【Qbot】5.接入DALL·E图像生成/Disco Diffusion本地部署
- SAP UI5 Fiori 应用在启动时向 ABAP 后台发起的 OData 请求序列的顺序和作用分析
- devexpress中基础控件教程 从Button到TabControl
- 图扑软件 | 数字孪生钢厂人员安全定位
- VMware Workstation安装ESXI8.0
- 产业互联网,虚拟经济与实体经济互为「赋能体」