2016-09-16 81 views
0

我一直在使用Pygame和Livewires進行一項家庭作業的小遊戲。我一直在試圖調試它,但沒有成功;在主循環執行之前,我無法查看想要查看的變量。雖然我可以按F10跳過主循環,但這只是停止了Autos和Watches窗口的工作;顯然他們只能在調試器暫停遊戲時記錄變量。如何在運行時使用Visual Studio調試Pygame應用程序

有沒有辦法讓我使用調試器來查看運行時變量?因爲無論我在調試器暫停時做什麼,我都無法查看遊戲對象中的數據我想查看

+0

你能分享一個關於你身邊結果的屏幕截圖嗎?你真的在你的應用中添加一個斷點嗎?斷點是命中嗎?我所知道的是,如果斷點被擊中,要使用DataTips查看值,只需將鼠標懸停在編輯器中的任何變量上。或者,只要調試器壞了,你就可以使用python調試交互。 –

+0

你說什麼結果?是的,我添加了一個斷點,它被擊中。不過,我嘗試了一下關於鼠標懸停的建議,並且在遊戲通過足夠的框架之後,我設法看到遊戲對象的值。然後,我解開調試器,然後用Break All重新使用它。幾次按F10後,我發現我可以看到我的對象的值(雖然界面不直觀)。所以,我想我的問題是固定的。謝謝:) – Tespy

回答

0

感謝傑克翟的建議,我想出了它。

  1. 當斷點被擊中,取消暫停調試器(快捷鍵:F5)

  2. 播放到你要調試的遊戲點。

  3. Repause使用打破了所有(快捷鍵:CTRL-ALT-休息)調試

  4. 按F10鍵幾次;這使得它在主要的livewires循環中多走幾步。

  5. 在自動窗口中,有一個包含遊戲對象列表的條目。仔細檢查一下,直到找到你要找的那個。在我的情況下,對象的列表是self._objects。我尋找的對象是第二個,換句話說,它是self._objects [1]。

  6. 您正在查找的對象的下拉箭頭顯示對象的成員。如果你想以一種不那麼麻煩的方式查看對象的屬性,使用交互式調試器將該對象分配給一個變量。這樣,您可以通過在交互式調試控制檯中鍵入objectNameHere.objectValueHere來查看其值。

就我而言,我不得不請在播放器= self._objects [1]得到它的分配,然後能夠依靠然後輸入player.x到調試控制檯中看到玩家的x位置。

-

我知道這個答案可能只針對我的具體問題的工作,因此,如果任何人有一個更好的,請張貼他人的緣故。

+0

很高興知道您已解決此問題,感謝您的分享,請將您的解決方案標記爲答案:) –

+0

當然。如果別人發佈了更好的答案,我一定會把它們標記爲最好的答案:) – Tespy

相關問題