Go to main content
oracle home
Oracle
®
Developer Studio 12.6: Discover and Uncover User's Guide
Exit Print View
Search Term
Search Scope:
This Document
Entire Library
» ...
Documentation Home
»
Oracle Developer Studio 12.6 Documentation Library
»
Oracle
®
Developer Studio 12.6: ...
»
Index A
Updated: June 2017
Oracle
®
Developer Studio 12.6: Discover and Uncover User's Guide
Document Information
Using This Documentation
Product Documentation Library
Feedback
Chapter 1 Introduction
Memory Error Discovery Tool Oracle Developer Studio (discover)
Code Coverage Tool (uncover)
Chapter 2 Memory Error Discovery Tool (discover)
Requirements for Using discover
Supported Binaries
Binaries That Use Preloading or Auditing Are Incompatible
Simple Program Example
Instrumenting a Binary
Caching Shared Libraries
Instrumenting Shared Libraries
Ignoring Libraries
Checking Parts of a Library or an Executable
Command-Line Options
Output Options
Instrumentation Options
Caching Options
Other Options
bit.rc Initialization Files
Running an Instrumented Binary
Hardware-Assisted Checking Using Silicon Secured Memory (SSM)
Using the libdiscoverADI Library to Find Memory Access Errors
Errors Caught by the libdiscoverADI Library
Instrumentation Options for discover ADI Mode
Custom Memory Allocators and the discover ADI Library
Using Custom Memory Allocators
Requirements and Limitations of Using libdiscoverADI
Example of Using discover ADI Mode
Analyzing discover Reports
Analyzing the HTML Report
Using the Errors Tab
Using the Warnings Tab
Using the Memory Leaks Tab
Using the Control Panel
Analyzing the ASCII Report
ASCII Warning and Error Message Descriptions
ASCII Memory Leak Report
ASCII Stack Trace Report
ASCII Report Summary
discover APIs and Environment Variables
discover APIs
Finding Memory Leaks With discover APIs
Finding Leaks in a Server or Long-Running Program
SUNW_DISCOVER_OPTIONS Environment Variable
Memory Access Errors and Warnings
Memory Access Errors
Beyond Array Bounds Read (ABR)
Beyond Array Bounds Write (ABW)
Bad Free Memory (BFM)
Bad Realloc Address Parameter (BRP)
Corrupted Guard Block (CGB)
Double Freeing Memory (DFM)
Freed Memory Read (FMR)
Freed Memory Write (FMW)
Freed Realloc Parameter (FRP)
Invalid Memory Read (IMR)
Invalid Memory Write (IMW)
Memory Leak
Overlapping Source and Destination (OLP)
Partially Initialized Read (PIR)
Beyond Stack Bounds Read (SBR)
Beyond Stack Bounds Write (SBW)
Unallocated Memory Read (UAR)
Unallocated Memory Write (UAW)
Memory Access Warnings
Allocating Zero Size (AZS)
Memory Leak (MLK)
Speculative Memory Read (SMR)
Interpreting discover Error Messages
Partially Initialized Memory
Speculative Loads
Uninstrumented Code
Limitations When Using discover
Non-Annotated Code Might Cause False Results
Machine Instruction Might Differ From Source Code
Compiler Options Affect the Generated Code
System Libraries Can Affect the Errors Reported
Custom Memory Management Can Affect the Accuracy of the Data
Chapter 3 Code Coverage Tool (uncover)
Requirements for Using uncover
Using uncover
Instrumenting the Binary
Running the Instrumented Binary
Generating and Viewing the Coverage Report
Coverage for Shared Libraries
Understanding the Coverage Report in Performance Analyzer
Overview Screen
Functions View
Uncoverage Counter
Function Count
Instr Exec Counter
Block Covered % Counter
Instr Covered % Counter
Source View
Disassembly View
Instruction Frequency View
Understanding the ASCII Coverage Report
Understanding the HTML Coverage Report
Limitations When Using uncover
Only Annotated Code Can Be Instrumented
Compiler Options Affect Generated Code
Machine Instructions Might Differ From Source Code
Index
Index A
Index B
Index C
Index D
Index I
Index L
Index N
Index R
Index S
Index U
Language:
English
Index
A
Application Data Integrity (ADI)
Using the libdiscoverADI Library to Find Memory Access Errors
B
binaries
instrumented with
discover
changing the runtime behavior of
SUNW_DISCOVER_OPTIONS Environment Variable
running
Running an Instrumented Binary
writing to a specific file
Output Options
instrumented with
uncover
, running
Running the Instrumented Binary
instrumenting for
discover
Instrumenting a Binary
instrumenting for
uncover
Instrumenting the Binary
preparing for
discover
Supported Binaries
that cannot be used by
discover
Binaries That Use Preloading or Auditing Are Incompatible
bit.rc initialization files
bit.rc Initialization Files
telling
discover
not to read
Instrumentation Options
C
custom memory allocators
Using Custom Memory Allocators
Using Custom Memory Allocators
discover ADI
Custom Memory Allocators and the discover ADI Library
example
Using Custom Memory Allocators
using
Using Custom Memory Allocators
D
Discover
requirements for using
Requirements for Using discover
discover
API
Uninstrumented Code
Application Data Integrity (ADI)
Hardware-Assisted Checking Using Silicon Secured Memory (SSM)
doing full read-write instrumentation of libraries
Instrumentation Options
doing write-only instrumentation for executables
Instrumentation Options
forcing reinstrumentation of cached libraries
Caching Options
hardware-assisted checking
Hardware-Assisted Checking Using Silicon Secured Memory (SSM)
allocation/free stack traces
Instrumentation Options
configuration options
Instrumentation Options for discover ADI Mode
discover ADI library
Using the libdiscoverADI Library to Find Memory Access Errors
errors caught
Errors Caught by the libdiscoverADI Library
example
Example of Using discover ADI Mode
libdiscoverADI.so
Using the libdiscoverADI Library to Find Memory Access Errors
Hardware-Assisted Checking Using Silicon Secured Memory (SSM)
precise ADI mode
Instrumentation Options
using
Using the libdiscoverADI Library to Find Memory Access Errors
ignoring shared libraries
Instrumentation Options
Ignoring Libraries
instrumenting the named binary only
Instrumentation Options
limitations
Limitations When Using discover
false negatives
Non-Annotated Code Might Cause False Results
false positives
Non-Annotated Code Might Cause False Results
memory access error examples
Memory Access Errors
memory access errors
Memory Access Errors
memory access warnings
Memory Access Warnings
options
–a
Output Options
–A
Instrumentation Options
–b
Output Options
–c
Instrumentation Options
Instrumenting Shared Libraries
–D
Caching Options
Caching Shared Libraries
–e
Output Options
–E
Output Options
–f
Output Options
–F
Instrumentation Options
–H
Analyzing discover Reports
Analyzing discover Reports
Output Options
–h
Other Options
–i adi
Instrumentation Options
–i datarace
Instrumentation Options
–i memcheck
Instrumentation Options
–K
Instrumentation Options
–k
Caching Options
–l
Instrumentation Options
–m
Output Options
–n
Instrumentation Options
Instrumenting Shared Libraries
–N
Instrumentation Options
Ignoring Libraries
–o
Output Options
–P
Instrumentation Options
–S
Output Options
–T
Instrumentation Options
Ignoring Libraries
–v
Other Options
–V
Other Options
–w
Analyzing discover Reports
Analyzing discover Reports
Output Options
Instrumenting a Binary
overview
Memory Error Discovery Tool Oracle Developer Studio (discover)
running in litemode
Instrumentation Options
Silicon Secured Memory (SSM)
Hardware-Assisted Checking Using Silicon Secured Memory (SSM)
specifying cache directory
Caching Options
specifying verbose mode
Other Options
specifying what happens if the instrumented binary forks
Instrumentation Options
writing error data to directory for use by Code Analyzer
Output Options
discover
ADI
custom memory allocators
Custom Memory Allocators and the discover ADI Library
requirements and limitations
Requirements and Limitations of Using libdiscoverADI
discover
ADI library
errors caught
Errors Caught by the libdiscoverADI Library
discover
APIs
discover APIs
Finding leaks in a long-running program
Finding Leaks in a Server or Long-Running Program
Finding leaks in a server
Finding Leaks in a Server or Long-Running Program
Finding memory leaks with
Finding Memory Leaks With discover APIs
discover
reports
ASCII
Analyzing the ASCII Report
error messages
ASCII Warning and Error Message Descriptions
heap blocks left allocated
ASCII Memory Leak Report
memory leaks
ASCII Memory Leak Report
stack trace
ASCII Stack Trace Report
ASCII Warning and Error Message Descriptions
summary
ASCII Report Summary
unfreed heap blocks
ASCII Stack Trace Report
warning messages
ASCII Warning and Error Message Descriptions
writing
Output Options
error messages, interpreting
Interpreting discover Error Messages
false positives
Interpreting discover Error Messages
avoiding
Partially Initialized Memory
caused by partially initialized memory
Partially Initialized Memory
caused by speculative loads
Speculative Loads
caused by uninstrumented code
Uninstrumented Code
HTML
Analyzing the HTML Report
control panel
Using the Control Panel
controlling types of errors displayed
Using the Control Panel
controlling types of warnings displayed
Using the Control Panel
Errors tab
Using the Errors Tab
Memory Leaks tab
Using the Memory Leaks Tab
number of blocks remaining allocated
Using the Memory Leaks Tab
showing all stack traces
Using the Control Panel
showing source code
Using the Memory Leaks Tab
Using the Warnings Tab
Using the Errors Tab
showing source code for all functions
Using the Control Panel
showing stack trace
Using the Memory Leaks Tab
Using the Warnings Tab
Using the Errors Tab
Warnings tab
Using the Warnings Tab
writing
Output Options
limiting number of memory errors reported
Output Options
limiting number of memory leaks reported
Output Options
limiting number of stack frames shown in
Output Options
showing mangled names in
Output Options
showing offsets in
Output Options
I
instrumenting a binary
for data race detection with
discover
Instrumentation Options
for
discover
Instrumenting a Binary
for hardware assisted checking with
discover
Instrumentation Options
for memory error checking with
discover
Instrumentation Options
for
uncover
Instrumenting the Binary
L
libdiscoverADI.so
Using Custom Memory Allocators
Errors Caught by the libdiscoverADI Library
Hardware-Assisted Checking Using Silicon Secured Memory (SSM)
libdiscoverADI
library
Using Custom Memory Allocators
Errors Caught by the libdiscoverADI Library
Hardware-Assisted Checking Using Silicon Secured Memory (SSM)
N
non-annotated code
how
discover
treats
Instrumenting a Binary
sources of
Instrumenting a Binary
R
requirements
Discover
Requirements for Using discover
uncover
Requirements for Using uncover
S
shared libraries
caching by
discover
Caching Shared Libraries
instrumenting with
discover
Instrumenting Shared Libraries
telling
discover
to ignore
Instrumentation Options
Ignoring Libraries
Silicon Secured Memory (SSM)
Using the libdiscoverADI Library to Find Memory Access Errors
SUNW_DISCOVER_OPTIONS
environment variable
SUNW_DISCOVER_OPTIONS Environment Variable
Analyzing discover Reports
U
Uncover
options
–h
Generating and Viewing the Coverage Report
uncover
command examples
uncover Command Examples
coverage report, generating
Generating and Viewing the Coverage Report
creating the coverage data directory in a specified directory
Instrumenting the Binary
limitations
Limitations When Using uncover
options
–a
Generating and Viewing the Coverage Report
–c
Generating and Viewing the Coverage Report
Instrumenting the Binary
–d
Instrumenting the Binary
–e
Generating and Viewing the Coverage Report
–H
Generating and Viewing the Coverage Report
–m
Instrumenting the Binary
–n
Generating and Viewing the Coverage Report
–o
Instrumenting the Binary
–t
Generating and Viewing the Coverage Report
–V
Generating and Viewing the Coverage Report
–v
Generating and Viewing the Coverage Report
overview
Code Coverage Tool (uncover)
requirements for using
Requirements for Using uncover
running in verbose mode
Generating and Viewing the Coverage Report
turning on reporting of execution counts for instructions, blocks, and functions
Generating and Viewing the Coverage Report
Instrumenting the Binary
turning thread-safe profiling on and off
Instrumenting the Binary
writing data to directory for use by Code Analyzer
Generating and Viewing the Coverage Report
writing the instrumented binary file to a specified file
Instrumenting the Binary
uncover
ASCII coverage report
Understanding the ASCII Coverage Report
generating
Generating and Viewing the Coverage Report
uncover
coverage report for Performance Analyzer
Functions view
Block Covered % counter
Block Covered % Counter
Instr Covered % counter
Instr Covered % Counter
Instr Exec counter
Instr Exec Counter
Uncoverage counter
Uncoverage Counter
uncover
coverage report for Performance Analyzer
Disassembly view
Disassembly View
Functions view
Functions View
Inst–Freq view
Instruction Frequency View
Source view
Source View
uncover
coverage report for Performance Analyzer
Understanding the Coverage Report in Performance Analyzer
uncover
coverage report for Performance Analyzer
generating
Generating and Viewing the Coverage Report
uncover
coverage report for Performance Analyzer
Functions view
Function Count
Function Count
uncover
HTML coverage report
Understanding the HTML Coverage Report
saving
Generating and Viewing the Coverage Report
Previous