使用IDA 的调试器 这个小教程简单介绍了IDA 调试器的主要功能
它支持本地或远程调试x86、AMD64 的Windows PE 文件,及 x86 的Linux ELF 文件
现在让我们看一下如何调试一个在 Windows下编译的小的C 语言控制台程序
一个小 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))); } 运行它,我们得到如下结