Bagikan melalui


Fungsi WaitForDebugEventEx (debugapi.h)

Menunggu peristiwa penelusuran kesalahan terjadi dalam proses yang sedang di-debug.

Penting Di masa lalu, sistem operasi tidak menghasilkan string Unicode melalui OutputDebugStringW dan sebaliknya hanya menghasilkan string ASCII. Untuk memaksa OutputDebugStringW mengeluarkan string Unicode dengan benar, debugger diperlukan untuk memanggil WaitForDebugEventEx untuk memilih perilaku baru. Saat memanggil WaitForDebugEventEx, sistem operasi akan tahu bahwa debugger mendukung Unicode dan secara khusus memilih untuk menerima string Unicode.
 

Sintaks

BOOL WaitForDebugEventEx(
  [out] LPDEBUG_EVENT lpDebugEvent,
  [in]  DWORD         dwMilliseconds
);

Parameter

[out] lpDebugEvent

Penunjuk ke struktur DEBUG_EVENT yang menerima informasi tentang peristiwa penelusuran kesalahan.

[in] dwMilliseconds

Jumlah milidetik untuk menunggu peristiwa penelusuran kesalahan. Jika parameter ini nol, fungsi akan menguji peristiwa penelusuran kesalahan dan segera kembali. Jika parameter adalah INFINITE, fungsi tidak kembali sampai peristiwa penelusuran kesalahan terjadi.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Hanya utas yang membuat proses yang di-debug dapat memanggil WaitForDebugEventEx.

Ketika CREATE_PROCESS_DEBUG_EVENT terjadi, aplikasi debugger menerima handel ke file gambar proses yang di-debug, handel ke proses yang sedang di-debug, dan handel ke utas awal proses yang di-debug dalam struktur DEBUG_EVENT . Anggota yang ditangani ini dikembalikan di adalah u.CreateProcessInfo.hFile (file gambar), u.CreateProcessInfo.hProcess (proses), dan u.CreateProcessInfo.hThread (utas awal). Jika sistem sebelumnya melaporkan peristiwa penelusuran kesalahan EXIT_PROCESS_DEBUG_EVENT, sistem menutup handel ke proses dan utas saat debugger memanggil fungsi ContinueDebugEvent . Debugger harus menutup handel ke file gambar dengan memanggil fungsi CloseHandle .

Demikian pula, ketika CREATE_THREAD_DEBUG_EVENT terjadi, aplikasi debugger menerima handel ke utas yang pembuatannya menyebabkan peristiwa penelusuran kesalahan di anggota u.CreateThread.hThread dari struktur DEBUG_EVENT . Jika sistem sebelumnya melaporkan peristiwa penelusuran kesalahan EXIT_THREAD_DEBUG_EVENT, sistem menutup handel ke utas saat debugger memanggil fungsi ContinueDebugEvent .

Ketika LOAD_DLL_DEBUG_EVENT terjadi, aplikasi debugger menerima handel ke DLL yang dimuat di anggota u.LoadDll.hFile dari struktur DEBUG_EVENT . Handel ini harus ditutup oleh aplikasi debugger dengan memanggil fungsi CloseHandle .

Peringatan Jangan mengantre panggilan prosedur asinkron (APC) ke utas yang memanggil WaitForDebugEventEx.
 

Contoh

Misalnya, lihat Menulis Perulangan Utama Debugger.

Persyaratan

   
Klien minimum yang didukung Windows 10 [khusus aplikasi desktop]
Server minimum yang didukung Windows Server 2016 [hanya aplikasi desktop]
Target Platform Windows
Header debugapi.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

ContinueDebugEvent

DEBUG_EVENT

DebugActiveProcess

DebugBreak

Peristiwa Penelusuran Kesalahan

Fungsi Debugging

OutputDebugString