Aracılığıyla paylaş


IDiaDataSource::loadDataForExe

Dosyayla .exe/.dll ilişkili hata ayıklama verilerini açar ve hazırlar.

Sözdizimi

HRESULT loadDataForExe (
   LPCOLESTR executable,
   LPCOLESTR searchPath,
   IUnknown* pCallback
);

Parametreler

Yürütüle -bilir

[in] veya .dll dosyasının .exe 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.

pCallback

[in] IUnknown IDiaLoadCallback, IDiaLoadCallback2, IDiaReadExeAtOffsetCallback ve/veya IDiaReadExeAtRVACallback arabirimleri gibi bir hata ayıklama geri çağırma arabirimini destekleyen bir nesne arabirimi.

Dönüş Değeri

Başarılı olursa döndürür S_OK; 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.

Value Açıklama
E_PDB_NOT_FOUND Dosya açılamadı veya dosya geçersiz bir biçime sahip.
E_PDB_FORMAT Eski bir biçime sahip 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

Dosyanın hata ayıklama üst bilgisi .exe/.dll , ilişkili hata ayıklama veri konumunu adlandırın.

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 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.

Sembol kayıtlarının önceden derlenmesine sahip bir .pdb dosya yüklemek için yöntemini kullanın IDiaDataSourceEx::loadDataForExeEx .

Doğrulama olmadan bir .pdb dosyası 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 yöntemini kullanın IDiaDataSourceEx::ValidatePdb .

Örnek

class MyCallBack: public IDiaLoadCallback
{
...
};
MyCallBack callback;
...
HRESULT hr = pSource->loadDataForExe( L"myprog.exe", L".\debug", (IUnknown*)&callback);
if (FAILED(hr))
{
    // Report error
}

Ayrıca bkz.