2015-05-29 39 views
3

我有一個if條件,false結果執行像它是trueVS 2015「if」條件執行到錯誤的塊

無斷點:

enter image description here

隨着斷點:

enter image description here

+6

如果您按下F10,您確定實際行被執行嗎? –

+4

你確定你沒有在同一時間看兩個線程嗎?也許是兩個調用,在同一時間發生的事情... – xanatos

+2

全部重建,以確保沒有運行 –

回答

4

根據我的經驗,也有可能導致此兩種常見的事情:

  1. 正在運行的DLL不符合規範迴應您正在查看的代碼。這可以通過確保工具>選項>調試>「要求源文件與原始版本完全匹配」進行檢查。
  2. 您已經使用優化編譯在Release模式編譯,編譯器重新排序的代碼,以便它看起來像該行代碼被執行,但它真的不是(你可以驗證這是通過切換到調試模式和發生再試一次)。這通常是我在調試時看到此行爲的最常見方式。
+0

關閉優化後,它工作正常,謝謝大家! – Oswaldo