如何在运行时使用 Visual Studio 调试 Pygame 应用程序

How to debug Pygame application with Visual Studio during runtime

我一直在使用 Pygame 和 Livewires 为家庭作业制作一个小游戏。我一直在尝试调试它,但没有成功;在执行主循环之前,我无法查看我想查看的变量。虽然我可以按 F10 跳过主循环,但这只会停止 Autos and Watches window 的工作;显然他们只能在调试器暂停游戏时记录变量。

有没有办法让我在运行时使用调试器查看变量?因为无论我在调试器暂停时做什么,我都看不到我想看的游戏对象里面的数据

多亏了Jack Zhai的建议,我明白了。

  1. 遇到断点时,取消暂停调试器(快捷键:F5)

  2. 玩到你想要调试的游戏。

  3. 使用 Break All(快捷键:Ctrl-Alt-Break)重新暂停调试器

  4. 按几次F10;这使得它在主 Livewires 循环中多走了几步。

  5. 在 autos window 中,有一个包含游戏对象列表的条目。浏览它,直到找到您要找的那个。在我的例子中,对象列表是 self._objects。我正在寻找的对象是第二个,换句话说,是 self._objects[1].

  6. 您要查找的对象的下拉箭头显示了对象的成员。如果您想以一种不那么麻烦的方式查看对象的属性,请使用交互式调试器将该对象分配给一个变量。这样,您可以通过在交互式调试控制台中键入 objectNameHere.objectValueHere 来查看其值。

在我的例子中,我必须输入 player = self._objects[1] 来分配它,然后通过在调试控制台输入 player.x 可以看到玩家的 x 位置。

--

我知道这个答案可能只适用于我的特定问题,所以如果其他人有更好的答案,请 post 为他人着想。