RemovePrivateCvSymbolic

The RemovePrivateCvSymbolic function removes all but public information from the CodeView debug information.

BOOL RemovePrivateCvSymbolic(
  IN PCHAR DebugData,       
  OUT PCHAR *NewDebugData,  
  OUT LPDWORD NewDebugSize  
);
 

Parameters

DebugData
Pointer to the CodeView debug data. This data can be found by mapping the image and searching the debug directories for debug type IMAGE_DEBUG_TYPE_CODEVIEW.
NewDebugData
Pointer to a buffer that receives the public CodeView debug information.
NewDebugSize
Pointer to a variable that receives the size of the public CodeView debug information.

Return Values

If the function succeeds, the return value is TRUE.

If the function fails, the return value is FALSE. To retrieve extended error information, call GetLastError.

Remarks

The RemovePrivateCvSymbolic function removes all but public information from the CodeView debug information. Therefore, you can ship the debug symbols for an image without disclosing your data structures or other source information. The user can only get a stack trace, place breakpoints on functions, and dump memory. All but the following CodeView sections are discarded:

It is the responsibility of the caller to free the memory pointed to by the NewDebugData parameter when he is finished.

QuickInfo

  Windows NT: Requires version 4.0 or later.
  Windows: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Windows CE: Unsupported.
  Header: Declared in imagehlp.h.
  Import Library: Use imagehlp.lib.

See Also

PE Image Helper (ImageHlp) Overview, ImageHlp Image Modification Functions