awtk/docs/debug_tips.md

39 lines
1.3 KiB
Markdown
Raw Normal View History

2018-10-01 07:17:07 +08:00
# AWTK 调试技巧
2021-07-11 17:18:42 +08:00
这里收集一些调试技巧,各种疑难杂症的解决方案。请大家把遇到的问题(包括已经解决的)发到 issues 上,我来收集整理。谢谢
2018-10-01 07:17:07 +08:00
## 一、输入设备相关问题
2022-07-05 17:10:18 +08:00
### 1.1 指针设备问题的检查列表:
2018-10-18 11:26:48 +08:00
* 设备名称是否正确。
* 电阻屏是否校准。
2021-07-11 17:18:42 +08:00
* x/y 是否需要对调或其它变换。
2018-10-18 11:26:48 +08:00
2018-10-01 07:17:07 +08:00
## 二、显示相关问题
2022-07-05 17:10:18 +08:00
### 2.1 图片颜色不正常的检查列表:
2018-10-18 11:26:48 +08:00
2021-07-11 17:18:42 +08:00
* LCD 的格式是否正确。
2018-10-18 11:26:48 +08:00
* 图片格式是否正确。
2018-10-01 07:17:07 +08:00
## 三、资源相关问题
2018-10-07 11:38:00 +08:00
## 四、内存问题
2018-10-01 07:17:07 +08:00
2021-07-11 17:18:42 +08:00
* 1. 内存出现莫名其妙的错误
2018-10-07 11:38:00 +08:00
2021-07-11 17:18:42 +08:00
> 通常是堆栈溢出,把栈空间修改大点试试。如果支持 jpg/png栈至少 32K如果支持 gif 栈至少 48K。
2018-10-07 11:38:00 +08:00
2021-07-11 17:18:42 +08:00
* 2. 内存泄露
2018-10-18 11:26:48 +08:00
2021-07-11 17:18:42 +08:00
> 如果定义宏了 ENABLE\_MEM\_LEAK\_CHECK每次内存分配都会记录分配的位置、大小和时间并在窗口打开和关闭时通过 log\_debug 显示当前未释放的内存块。根据块数的变化可以看出是否有内存泄露,并根据分配的位置可以定位泄露的位置。
2018-10-18 11:26:48 +08:00
## 五、性能问题
2021-07-11 17:18:42 +08:00
性能问题的检查列表:
2018-10-18 11:26:48 +08:00
2021-07-11 17:18:42 +08:00
* 1. 硬件加速是否启用。
* 2.memcpy 的速度是否正常。
* 3. 在 window\_manager\_paint\_normal 函数中查看 last\_paint\_cost 是否在合理的范围。