Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Dosyayla .exe/.dll ilişkili hata ayıklama verilerini açar ve hazırlar.
Sözdizimi
HRESULT loadDataFromCodeViewInfo (
LPCOLESTR executable,
LPCOLESTR searchPath,
DWORD cbCvInfo,
BYTE* pbCvInfo,
IUnknown* pCallback
);
Parametreler
Yürütüle -bilir
[in] veya .exe dosyasının .dll yolu.
searchPath
[in] Hata ayıklama verilerini aramak için alternatif yollar. Birden çok yol noktalı virgülle ayrılmış olmalıdır. Yollar sonunda \bir içerebilir.
cbCvInfo
[in] Parametresinin pbCvInfo bayt cinsinden boyutu.
pbCvInfo
[in] Alternatif hata ayıklama üst bilgi kodu görünüm bilgileri (yürütülebilir dosyanın IMAGE_DEBUG_DIRECTORY normal okunan değerleri değiştirmek için). Yalnızca RSDS veya NB10 üst bilgileri desteklenir.
pCallback
[in] IUnknown, IDiaLoadCallbackIDiaLoadCallback2, , ve/veya IDiaReadExeAtOffsetCallback arabirimleri gibi bir hata ayıklama geri çağırma arabirimini destekleyen bir nesne arabirimi.
Dönüş Değeri
Başarılı olursa, S_OKdöndürür; aksi takdirde bir hata kodu döndürür. Aşağıdaki tabloda bu yöntem için olası hata kodlarından bazıları gösterilmektedir.
| Değer | Açıklama |
|---|---|
E_PDB_NOT_FOUND |
Dosya açılamadı veya dosya geçersiz bir biçime sahip. |
E_PDB_FORMAT |
Desteklenmeyen biçimde bir dosyaya erişmeye çalışıldı. |
E_PDB_INVALID_SIG |
İmza eşleşmiyor. |
E_PDB_INVALID_AGE |
Yaş eşleşmiyor. |
E_INVALIDARG |
Geçersiz parametre. |
E_UNEXPECTED |
Veri kaynağı zaten hazırlanmıştır. |
Açıklamalar
Kod görünümü bilgileri, biçim olarak IMAGE_DEBUG_TYPE_CODEVIEW ilişkili hata ayıklama veri konumunu adlandırırken, eşleşmesi için işaret ve yaş alanları sağlar.
Hata ayıklama verilerini bir sembol sunucusundan yüklüyorsanız ,symsrv.dll kullanıcının uygulamasının veya msdia140.dll yüklü olduğu dizinde bulunmalı veya sistem dizininde bulunmalıdır.
Bu yöntem, sağlanan hata ayıklama üst bilgisini okur ve hata ayıklama verilerini arar ve hazırlar. Aramanın ilerleme durumu isteğe bağlı olarak geri çağırmalar aracılığıyla raporlanabilir ve denetlenebilir. Örneğin, IDiaLoadCallback::NotifyDebugDir yöntemi bir hata ayıklama dizini bulup işlediğinde IDiaDataSource::loadDataForExe çağrılır.
IDiaReadExeAtOffsetCallback ve IDiaReadExeAtRVACallback arabirimleri, dosyaya standart dosya G/Ç üzerinden doğrudan erişilemediğinde istemci uygulamasının yürütülebilir dosyadan veri okumak için alternatif yöntemler sağlamasına olanak sağlar.
Doğrulama olmadan dosya .pdb yüklemek için yöntemini kullanın IDiaDataSource::loadDataFromPdb .
.pdb dosyasını belirli ölçütlere göre doğrulamak için yöntemini kullanın IDiaDataSource::loadAndValidateDataFromPdb .
Bir .pdb dosyasını doğrudan bellekten yüklemek için yöntemini kullanın IDiaDataSource::loadDataFromIStream .
.pdb dosyasını yüklemeden doğrulamak için IDiaDataSourceEx::ValidatePdb' yöntemini kullanın.
Örnek
BYTE pbCodeViewInfo[] = {
...
};
HRESULT hr = pSource->loadDataFromCodeViewInfo( L"myprog.exe", L".\debug", sizeof(pbCodeViewInfo), pbCodeViewInfo, nullptr);
if (FAILED(hr))
{
// Report error
}