OutputDebugStringW 函式 (debugapi.h)
將字串傳送至調試程式以供顯示。
語法
void OutputDebugStringW(
[in, optional] LPCWSTR lpOutputString
);
參數
[in, optional] lpOutputString
要顯示的 Null 終止字串。
傳回值
無
備註
重要
若要使用此函式,您必須在應用程式中包含 Windows.h 標頭, (不是 debugapi.h) 。
在過去,操作系統不會透過 OutputDebugStringW 傳回 Unicode 字串, (ASCII 字串,而是傳回) 。 若要強制 OutputDebugStringW 傳回 Unicode 字串,調試程式必須呼叫 WaitForDebugEventEx 函式,才能選擇加入新的行為。 如此一來,操作系統就知道調試程序支援 Unicode,並特別選擇接收 Unicode 字串。
如果應用程式沒有調試程式,且篩選遮罩允許它,則系統調試程式會顯示字串。 若要顯示字串,此函式會呼叫 DbgPrint 函式。 在 Windows Vista 之前,系統調試程式不會篩選內容。
如果應用程式沒有調試程式,而且系統調試程序沒有作用中, OutputDebugString 不會執行任何動作。
OutputDebugStringW 會根據目前的系統地區設定資訊轉換指定的字串,並將它傳遞給 OutputDebugStringA 以顯示。 因此,某些 Unicode 字元可能無法正確顯示。
應用程式應該傳送非常最少的偵錯輸出,併為使用者提供啟用或停用其使用的方式。 若要深入瞭解追蹤詳細數據,請參閱 事件追蹤 。
Visual Studio 已變更其處理這些字串在整個修訂歷程記錄中的顯示方式。 如需版本如何處理此項目的詳細資訊,請參閱Visual Studio檔。
debugapi.h 標頭會將 OutputDebugString 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致不符和編譯或運行時間錯誤。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | debugapi.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |