サイト一覧NewsBridge 翻訳して読み比べるニュース
iThomeの一覧へ戻る

Visual Studio C++動態除錯正式推出,可逐行檢查最佳化程式

iThome文字
元の記事を開く

記事本文

6 段落 · 単語をタップ(クリック)または文章を選ぶと翻訳 · 単語をタップ/文章を選ぶと翻訳

微軟在Visual Studio正式推出C++動態除錯(C++ Dynamic Debugging)功能,支援所有Visual Studio 2026更新通道及MSVC Build Tools 14.52。開發者可在經過最佳化的C++程式中查看區域變數、逐行檢查程式碼,甚至進入原本被編譯器內嵌的函式。

C++程式正式發布時,通常會使用啟用編譯器最佳化的Release組態,以提升執行效能。然而,編譯器可能移除部分區域變數、調整指令順序或將函式內嵌,使除錯器無法顯示變數值,也難以按照原始碼逐行追蹤。要是改用未經最佳化的Debug組態,程式執行速度與時序可能改變,使部分問題難以重現。

C++動態除錯的作法,是在啟用功能並重新建置程式時,除了產生最佳化版本,也另外產生供除錯使用的未最佳化版本。當開發者設定中斷點或逐步進入函式時,除錯器便使用對應的未最佳化函式,讓開發者檢查變數及程式執行流程,其餘函式則繼續執行最佳化程式碼。

過去開發者若要檢查特定函式,可能得暫時關閉最佳化,重新編譯後再重現問題。新功能讓開發者不必反覆修改編譯設定,就能在維持其他程式碼執行效能的情況下進行除錯。微軟表示,旗下Havok遊戲技術及混合實境相關團隊已使用該功能。

C++動態除錯最早於2025年3月隨Visual Studio 2022 17.14預覽版推出,此次正式脫離預覽階段。目前支援x64架構的C++專案,使用MSBuild的開發者可在發行組態的專案屬性中啟用功能,再重新建置。

該功能也支援Unreal Engine 5.6以上版本,以及FastBuild、IncrediBuild等分散式建置工具。不過,啟用動態除錯會停用全程式最佳化(Whole Program Optimization),其他一般程式碼最佳化仍可保留。由於建置時還會額外產生供除錯使用的程式檔案,建置時間與儲存空間需求可能增加。

段落ごとの訳がずれるときに

単語をタップ(クリック)すると単語を、文章を選ぶとその範囲をすぐに翻訳します。