Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Opens and prepares a program database (.pdb) file as a debug data source with optional record prefetching.
Syntax
HRESULT loadDataFromPdbEx (
LPCOLESTR pdbPath,
BOOL fPdbPrefetching
);
Parameters
pdbPath
[in] The path to the .pdb file.
fPdbPrefetching
[in] If set to TRUE, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to FALSE, this behaves identically to IDiaDataSource::loadDataFromPdb. If set to some other value, behavior is unspecified.
Return Value
If successful, returns S_OK; otherwise, returns an error code. The following table shows the possible return values for this method.
| Value | Description |
|---|---|
E_PDB_NOT_FOUND |
Failed to open the file, or determined that the file has an invalid format. |
E_PDB_FORMAT |
Attempted to access a file with an incompatible or unsupported format. |
E_INVALIDARG |
Invalid parameter. |
E_UNEXPECTED |
Data source has already been prepared. |
Remarks
This method loads the debug data directly from a .pdb file.
To validate the .pdb file against specific criteria, use the IDiaDataSourceEx::loadAndValidateDataFromPdbEx method.
To gain access to the data load process (through a callback mechanism), use the IDiaDataSourceEx::loadDataForExeEx method.
To load a .pdb file directly from memory, use the IDiaDataSourceEx::loadDataFromIStreamEx method.
To validate a .pdb file without loading it, use the IDiaDataSourceEx::ValidatePdb method.
Example
HRESULT hr = pSource->loadDataFromPdbEx( L"myprog.pdb", TRUE );
if (FAILED(hr))
{
// report error
}