有了以上两点保证,要检查内存错误就非常轻易了:比如要检查 p是否有效,首先在全局表中查找p指向的内存块,假如没有找到,说明p是野指针。假如找到了,再检查p 1是否在这块内存范围内,假如不是,那就是越界访问,否则是正常的了。怎么样,简单吧,无论是全局内存、堆还是栈,无论是读还是写,无一能够逃过出工具的法眼。
代码赏析(源于tcc):
对指针运算进行检查:
| 共36页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 10 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] 下一页 | |||
![]() |