2
在調試模式和發佈模式下調試的區別是什麼? 在發佈模式下,加載的符號表包含較少的符號信息,這意味着較少的調試信息。但是,如果我們在C/C++ - > Optimization-> Optimization中設置「Disabled(/ Od)」,那麼在兩種調試類型中我看不到任何區別。 調試模式和發佈模式是否有區別(優化禁用)?調試模式和釋放模式下禁用優化調試有什麼不同?
在調試模式和發佈模式下調試的區別是什麼? 在發佈模式下,加載的符號表包含較少的符號信息,這意味着較少的調試信息。但是,如果我們在C/C++ - > Optimization-> Optimization中設置「Disabled(/ Od)」,那麼在兩種調試類型中我看不到任何區別。 調試模式和發佈模式是否有區別(優化禁用)?調試模式和釋放模式下禁用優化調試有什麼不同?
它有一點魔力。調試和發佈只是分配給一組編譯器選項的名稱。調試配置最相關的選項是/ Od選項,它禁用了優化器,因此您的代碼更易於調試。
顯然,您始終可以將發佈配置選項更改爲類似於調試配置選項。就像禁用優化器一樣。現在他們之間沒有相關的區別了,Release配置的行爲很像調試器中的Debug配置。
其他選項通常會影響您的代碼的調試配置中使用:
然後這是否意味着沒有優化的發佈模式在字面上等同於調試模式?如果是,那麼當我們在調試模式下加載dll時,爲什麼dll無法加載?反之亦然。 –
不是「字面意思」,我列出了Debug配置中通常不同的其他選項。/Od是目前最重要的差異,優化器使調試非常困難。你之前沒有提到「加載失敗」,在單個程序中混合多個版本的CRT通常是相當麻煩的。列表中的第五個項目符號,您希望避免同時使用CRT的調試和發佈版本。只要您將DLL和EXE項目保留在同一個解決方案中,就容易避免。 –