2017-02-08 164 views
1

我是編程新手,這是我第一次調試(試圖學習)。當我運行我的項目時,它會停在我的第一個斷點,第14行。我點擊跳過,它會到第15行(請參見截圖)。Visual Studio 2015:調試器不會跨越

當我再次點擊Step Over時,它會生成項目並在瀏覽器中打開並且不會讓我有機會進入第21行,Step Over按鈕會變灰。

我的期望是,當我點擊Step Over時,它會轉到代碼中的下一行。我誤解了跨步和斷點的工作方式嗎?

enter image description here

謝謝。

在研究了給出的答案後,下面的鏈接將爲有興趣瞭解更多關於調試的人提供更多信息。

Getting Started with the Debugger

+2

您正處於'Page_Load'的末尾。點擊'okButton'來查看第21行,雖然必須符合'if'的標準。 – Bugs

回答

4

你遇到的行爲是正常的和正確的。

您已在第14行設置了一個斷點,該行是Page_Load事件的一部分。這幾乎會立即觸發 - 如果我沒有弄錯,在看到瀏覽器窗口出現之前。也許它會在窗口打開後立即觸發,我完全忘記了。無論哪種方式,如果您單擊「跳過」,則應該轉到第15行。即使大括號不是也不是,它們確實會「執行」。第二次單擊Step Over(大括號執行後),您可以有效地告訴調試程序:「好吧,我們已經完成了Page_Load的觀察,不管你下一步應該做什麼」 - 然後這種情況下,這實際上是在瀏覽器中運行你的應用程序。

你的第二個斷點是一個完全獨立的方法(事件),標題爲okButton_Click。這將只在您的頁面上點擊okButton時觸發。如果您Page_Load包括以okButton_Click一個電話,那麼你可以使用Step Over,並最終將觸發線斷點21

更多信息,正是調試器按鈕,就可以發現here(見下面我的編輯用於更好鏈接)。

向您推薦學習/發佈有關調試器的問題。它是開發人員最強大的工具,如果您知道如何使用它,很多問題可以輕鬆地由您自己解決。

編輯這比上面的一個更好的鏈接:https://msdn.microsoft.com/en-us/library/y740d9d3.aspx

我沒有意識到我的第一個環節是在Office產品的VB腳本;但它的行爲基本相同。

+0

感謝您的詳細描述和鼓勵@ sab669。我很感謝所有幫助新手的專業人員,這是一個偉大的社區。 – JM1

+1

@ JM1只要你證明已經做出了嘗試,這個網站可以是非常有幫助的,是的。有很多問題可以在這裏隨時發佈,並且可以通過非常簡單的邏輯錯誤來設置斷點並使用[Watch](https://msdn.microsoft.com/en-us/library/) aa290869(v = vs.71).aspx)窗口和[Immediate](https://msdn.microsoft.com/en-us/library/f177hahy.aspx)窗口。前者只是讓您更輕鬆地隨時跟蹤特定變量,以便您可以準確瞭解其具體值,而立即讓您執行幾乎任何語句。 – sab669

+0

考慮到你在這兩條評論中所說的話,使用調試器,Watch和Immediate窗口將會帶領我完成執行的每一步,並會告訴我這些值是什麼,它會讓我知道它是否正在執行意。我現在明白爲什麼你說它是最強大的工具。我可以使用這些工具自己診斷大多數事情,所以看起來我需要花時間深入學習調試,以便在未來幾年內節省大量的時間。 – JM1

2

看來你在 「釋放」 模式正在調試。嘗試將模式更改爲「調試」並重新運行應用程序。

編輯:第21行是確定按鈕單擊事件處理程序。一旦你點擊你的網頁/ UI上的OK,它將被擊中

+1

你的第一句話是完全錯誤的。 – DavidG

+0

是的,我錯過了它。當我第一次讀它時,出現了混亂。但沒有刪除它,因爲它可能有助於瞭解新手的配置。 –

+0

謝謝@Mit,它確實讓我仔細檢查,它在調試模式下,但我沒有注意到有這樣的配置,所以感謝您的評論。 – JM1

相關問題