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.
Bir uygulama, fInvadeProcess parametresi TRUEolarak ayarlanmış SymInitialize fonksiyonunu çağırmazsa, modül için semboller gerektiğinde yüklenmelidir. bir sembol modülünü isteğe bağlı olarak yüklemek için uygulama, bir modül adının tam yolu ile SymLoadModuleEx işlevini çağırabilir. Modül yüklendiğinde, sembol işleyicisi SymSetOptions işlevini kullanarak ayarlanan seçeneklere bağlı olarak simgeleri hemen yükler veya yükü erteler.
Aşağıdaki kod bir sembol modülü yükler. Sembol işleyicisini Sembol İşleyicisini Başlatmaiçindeki kodu kullanarak başlattığınızı varsaydığını unutmayın.
TCHAR szImageName[MAX_PATH] = TEXT("foo.dll");
DWORD64 dwBaseAddr = 0;
if (SymLoadModuleEx(hProcess, // target process
NULL, // handle to image - not used
szImageName, // name of image file
NULL, // name of module - not required
dwBaseAddr, // base address - not required
0, // size of image - not required
NULL, // MODLOAD_DATA used for special cases
0)) // flags - not required
{
// SymLoadModuleEx returned success
}
else
{
// SymLoadModuleEx failed
DWORD error = GetLastError();
printf("SymLoadModuleEx returned error : %d\n", error);
}
szImageName hata ayıklama bilgileri (.exe, .dll, .drv, .sys, .scr, .cpl, .com) içeren herhangi bir yürütülebilir modülün yolu olabileceğini unutmayın. Ayrıca dwBaseAddr yüklenecek sembol modülünün temel adresidir. Bu değer 0 ise, simge işleyicisi belirtilen sembol modülünden temel adresi alır.
İlgili konular