关闭

DEBUG快速定位问题的方法

410人阅读 评论(0) 收藏 举报

在debug时,最重要的是能够准确快速的定位代码,一般常用的有如下几种方式


1.在模拟器中使用断点

模拟器中断跟踪断点设置函数:
// 触屏相关
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 // 执行当前高亮的函数
ExecuteCurrProtocolHandler //执行当前协议栈的函数
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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:315174次
    • 积分:4576
    • 等级:
    • 排名:第6650名
    • 原创:110篇
    • 转载:127篇
    • 译文:1篇
    • 评论:37条
    最新评论