使用IDA 的跟踪功能 上一篇调试器教程给出了如何用常用的调试命令来调试一个小程序
本教程将给出另一种方法
下面我们利用IDA 调试器的跟踪功能来调试这个小程序
一个小 bug 程序 这个小程序只是简单的计算了一下一组数据(1,2,3,4,5)的平均值
这组数据被保存在两个数组里,一个是 8bit的数值,一个是 32bit数值表示
#include char char_average(char array[], int count) { int i; char average; average = 0; for (i = 0; i < count; i++) average += array[i]; average /= count; return average; } int int_average(int array[], int count) { int i, average; average = 0; for (i = 0; i < count; i++) average += array[i]; average /= count; return average; } void main(void) { char chars[] = { 1, 2, 3, 4, 5 }; int integers[] = { 1, 2, 3, 4, 5 }; printf("chars[] - average = %d\n", char_average(chars, sizeof(chars))); printf("integers[] - average = %d\n", int_average(integers, sizeof(integers))); } 运行它,我们得到如下结果: chars[] - av erage = 3 integers[] - av erage =