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.
.exe/.dll dosyasıyla ilişkili hata ayıklama verilerini açar ve isteğe bağlı kayıt ön oluşturma ile hazırlar.
Sözdizimi
HRESULT loadDataForExeEx (
LPCOLESTR executable,
LPCOLESTR searchPath,
IUnknown* pCallback,
BOOL fPdbPrefetching
);
Parametreler
executable
[in] .exe veya .dll dosyasının yolu.
searchPath
[in] Hata ayıklama verilerini aramak için alternatif yol. Birden çok yol noktalı virgülle ayrılmış olmalıdır. Yollar sonunda \bir içerebilir.
pCallback
[in] IUnknown, IDiaLoadCallback2, ve/veya arabirimleri gibi IDiaLoadCallbackbir hata ayıklama geri çağırma arabirimini IDiaReadExeAtOffsetCallbackdestekleyen bir nesne arabirimiIDiaReadExeAtRVACallback.
fPdbPrefetching
[in] olarak TRUEayarlanırsa, bitişik hata ayıklama kayıtları belleğe önceden eklenir, büyük olasılıkla daha küçük dosya G/Ç işlemlerini daha az, daha büyük işlemlerle değiştirir ve böylece daha sonra bu kayıtlara erişilirken bellek kullanımını artırma olasılığına karşı genel aktarım hızını artırır. olarak ayarlanırsa FALSE, bu, ile IDiaDataSource::loadDataForExeaynı şekilde davranır. Başka bir değere ayarlanırsa davranış belirtilmez.
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
.exe/.dll dosyasının hata ayıklama üst bilgisi, 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 IDiaDataSourceEx::loadDataForExeEx ç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 bir .pdb dosyası yüklemek için yöntemini kullanın IDiaDataSourceEx::loadDataFromPdbEx .
.pdb dosyasını belirli ölçütlere göre doğrulamak için yöntemini kullanın IDiaDataSourceEx::loadAndValidateDataFromPdbEx .
Bir .pdb dosyasını doğrudan bellekten yüklemek için yöntemini kullanın IDiaDataSourceEx::loadDataFromIStreamEx .
.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->loadDataForExeEx( L"myprog.exe", L".\debug", (IUnknown*)&callback, TRUE);
if (FAILED(hr))
{
// Report error
}