共用方式為


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

另請參閱

與調試程序通訊

偵錯函式

VBS 記憶體保護區中可用的 Vertdll API