Why does a function name I didn't call appear in some call stacks? (Error Detection)

If symbols are not available for a module, as is often the case for system DLLs, third party DLLs, and release builds, Purify doesn't have much information about the module. When this happens, Purify assigns errors to functions based on the only information it has: the functions that the module exports.

If Purify detects an exported function that could contain the address at which an error occurred, Purify assigns the error to that function. Most of the time this is correct. When it is not correct, the reason is that the error was caused by a call within the module, with too much code separating the call from the error.

To enable Purify to pinpoint the location of errors, make debug data available when you Purify your code.

Notes:

§      Purify looks for debug data in the module itself and .pdb, .dbg, and .map files. For information on how Purify locates debug data, click images\shortcut.gif

§      For information about Purify'ing a release version of your product, click images\shortcut.gif

§      If you need accurate information for system DLLs, install the symbols that are provided with Windows NT.

(C) Copyright IBM Corporation 1992, 2010.