共用方式為


C 執行階段錯誤 R6016

執行緒資料空間不足

注意

如果您在執行應用程式時遇到此錯誤訊息,應用程式因為有內部記憶體問題而關閉。 此錯誤有許多可能的原因,但通常是因為記憶體狀況非常低、應用程式中的錯誤,或應用程式所使用的增益集或擴充功能中的 Bug 所造成。

您可以嘗試進行下列步驟來修正這個錯誤:

  • 關閉其他執行中的應用程式,或重新開機電腦以釋放記憶體。
  • 使用主控台 中的 [應用程式和功能 ] 或 [程式和功能 ] 頁面來修復或重新安裝應用程式。
  • 使用主控台 中的 [應用程式與功能 ] 或 [程式和功能 ] 頁面,移除、修復或重新安裝應用程式所使用的增益集或擴充功能。
  • 檢查 主控台 中的 Windows Update 以取得軟體更新。
  • 檢查應用程式的更新版本。 如果問題持續發生,請連絡應用程式廠商。

程式設計人員的資訊

之所以發生此錯誤,是因為程式未從作業系統收到足夠的記憶體,無法完成 _beginthread _beginthreadex 呼叫,或執行緒本機儲存體尚未由 _beginthread_beginthreadex 初始化。

當新的執行緒啟動時,程式庫必須為執行緒建立一個內部資料庫。 當使用作業系統提供的記憶體無法展開資料庫時,執行緒就無法啟動,呼叫的處理序也會停止。 當處理序已建立過多執行緒,或是執行緒區域儲存區已用盡時,就會發生這種情形。

我們建議呼叫 C 執行時間程式庫的可執行檔應該用於 _beginthreadex 執行緒建立,而不是 Windows API CreateThread_beginthreadex 會初始化執行緒區域儲存區中許多 CRT 函式所使用的內部靜態儲存區。 如果您使用 CreateThread 建立執行緒,則呼叫需要已初始化的內部靜態儲存區的 CRT 函式時,CRT 可能會終止處理序並發出 R6016。