IDiaDataSourceEx::loadDataFromPdbEx

打开并准备程序数据库 (.pdb) 文件作为调试数据源,并预提取可选记录。

语法

HRESULT loadDataFromPdbEx (
   LPCOLESTR pdbPath,
   BOOL      fPdbPrefetching
);

参数

pdbPath

[in] .pdb 文件的路径。

fPdbPrefetching

[in]如果设置为 TRUE,则相邻的调试记录将预提取到内存中,可能会将许多较小的文件 I/O 操作替换为更少、更大的操作,从而提高总体吞吐量,因为随后访问这些记录,代价是内存使用量可能会增加。 如果设置为 FALSE,则其行为方式与 IDiaDataSource::loadDataFromPdb 相同。 如果设置为其他值,则行为未指定。

返回值

如果成功,则返回 S_OK;否则,返回错误代码。 下表显示了此方法的可能返回值。

说明
E_PDB_NOT_FOUND 无法打开文件或确定该文件的格式无效。
E_PDB_FORMAT 尝试访问格式不兼容或不受支持的文件。
E_INVALIDARG 参数无效。
E_UNEXPECTED 数据源已准备好。

备注

此方法直接从 .pdb 文件加载调试数据。

若要根据特定条件验证 .pdb 文件,请使用 IDiaDataSourceEx::loadAndValidateDataFromPdbEx 该方法。

若要访问数据加载过程(通过回调机制),请使用 IDiaDataSourceEx::loadDataForExeEx 该方法。

若要直接从内存中加载 .pdb 文件,请使用 IDiaDataSourceEx::loadDataFromIStreamEx 该方法。

若要验证 .pdb 文件而不加载该文件,请使用 IDiaDataSourceEx::ValidatePdb 该方法。

示例

HRESULT hr = pSource->loadDataFromPdbEx( L"myprog.pdb", TRUE );
if (FAILED(hr))
{
    // report error
}

请参阅