有一个内存越界的bug找了2天才找到,最后还是通过借助gdb的帮助,利用watch if 来跟踪某个值什么时候不等于期望值,从而跟踪到越界指令。
reproduce a bug 是找到bug的的第一步,然后再通过一些跟踪调试工具来找到原因。
这个bug算是我目前为止遇到最复杂的了,因为有一定的随机性,所以一开始要找到产生bug时的seed,然后再reproduce the bug ,如果不利用gdb,很难locate到具体到那一行代码出的问题。
有一个内存越界的bug找了2天才找到,最后还是通过借助gdb的帮助,利用watch if 来跟踪某个值什么时候不等于期望值,从而跟踪到越界指令。
reproduce a bug 是找到bug的的第一步,然后再通过一些跟踪调试工具来找到原因。
这个bug算是我目前为止遇到最复杂的了,因为有一定的随机性,所以一开始要找到产生bug时的seed,然后再reproduce the bug ,如果不利用gdb,很难locate到具体到那一行代码出的问题。