本节提供一个监视错误修复效果的示例。
在修复之前编译目标源。
% cc -g *.c
使用 Discover 检测二进制文件,并确保其生成 Analytics 输出。
% discover -a a.out
运行检测过的二进制文件。
使用 codean 存储 Analytics 输出。将在 a.out.analyze/history/before_bugfix 中创建一个历史归档文件,还会在此目录中创建一个名为 dynamic 的历史文件。
% codean --save --tag before_bugfix -d a.out
修复错误。
再次编译目标源代码。
% cc -g *.c
再次使用 discover 检测二进制文件。
% discover -a a.out
运行检测过的二进制文件。
% a.out
显示比较结果,并确保错误所导致的无效内存访问已被修复。
% codean --whatisfixed --tag before_bugfix -d a.out
这将生成一个新的 Analytics 输出文件(位于 a.out.analyze/dynamic/fixed_before_bugfix,其中仅包含已修复的动态问题。可以使用 codean 或代码分析器 GUI 来查看这些已修复的问题。
(可选)运行 codean 以确保未引入任何新错误。
% codean --whatisnew --tag before_bugfix -d a.out
此命令生成一个新的 Analytics 文件(位于 a.out.analyze/dynamic/new_before_bugfix),其中仅包含新的动态问题。