2010-10-19 12 views
9

Visual Studio'daki herhangi bir işleve, WinDbg'de bm kernel32!LoadLib* gibi bir işleve kesme noktası koymanın bir yolu var mı?Adlandırılmış işlev üzerinde kesme noktası koyma

Uygulamanın başlangıcında kırmanın, gerekli DLL yükleme adresini bulmanın, sonra da Bağlantılı yoldan alabileceğiniz gerekli işleve ofset ekleyip adreste bir kesme noktası oluşturmanın tek yolunun olduğunu biliyorum. Ama bu gerçekten yavaş ve WinDbg'ye dönüş ve geri de oldukça can sıkıcı.

Belki daha iyi bir yolu var mı?

cevap

14

"Debug/New breakpoint/Break to function ..." işlevine gidin ve işlev adını yapıştırın.

API'ler için, hata ayıklayıcı tarafından görülen işlevin adı gerçek adından farklı olduğu için bu zor olabilir.
Örnekler:

{,,kernel32.dll}[email protected] 
{,,user32.dll}[email protected] 

doğru ismi bulmak için bu blog yazısı bakınız: Setting a Visual Studio breakpoint on a Win32 API function in user32.dll

+1

API fonksiyonları tam olarak vardı ne gerekli, teşekkür ederim! Sadece dekore edilmiş ismi bulmanın daha kolay bir yolu olsaydı ... – Coder

İlgili konular