IDiaDataSourceEx::loadDataFromPdbEx
以選擇性記錄預先擷取的偵錯數據源,開啟並準備程序資料庫 (.pdb) 檔案。
語法
HRESULT loadDataFromPdbEx (
LPCOLESTR pdbPath,
BOOL fPdbPrefetching
);
參數
pdbPath
[in] .pdb 的路徑。
fPdbPrefetching
[in]如果設定為 TRUE
,則相鄰的偵錯記錄會預先擷取到記憶體中,可能會以較少、較大的作業取代許多較小的檔案 I/O 作業,因而改善後續存取這些記錄的整體輸送量,代價是記憶體使用量可能會增加。 如果設定為 FALSE
,則此行為會與 IDiaDataSource::loadDataFromPdb
相同。 如果設定為其他值,則行為未指定。
傳回值
如果成功,則會傳回 S_OK
;否則,會傳回錯誤碼。 下表顯示這個方法的可能傳回值。
值 | Description |
---|---|
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
}