跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris Studio 12.3:Discover 和 Uncover 用户指南 Oracle Solaris Studio 12.3 Information Library (简体中文) |
下例说明了如何准备程序、使用 Discover 对其进行检测、运行程序,以及针对检测到的内存访问错误生成一个报告。此示例使用了一个访问未初始化数据的简单程序。
% cat test_UMR.c #include <stdio.h> #include <stdlib.h> int main() { // UMR: accessing uninitialized data int *p = (int*) malloc(sizeof(int)); printf("*p = %d\n", *p); free(p); } % cc -g -02 test_UMR.c % a.out *p = 131464 % discover a.out % a.out
Discover 输出显示了在何处使用了未初始化内存、将其分配至了何处,以及结果摘要。