2016-09-16 83 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

相关问题