我正在尝试学习我最喜欢的一款游戏中的关卡格式,这几乎完全没有记录。基本上,描述关卡格式的唯一文档就是简单地说明诸如 First 12 bytes: header
4 following bytes: number of materials
x next bytes: array of materials
,
诸如此类。
我对十六进制非常缺乏经验,不完全理解他们在说什么。但是,有一个关卡编辑器,源代码可在 google code 上免费获得。我正在考虑将其添加到我的 Visual Studio 中,并尝试通过阅读关卡编辑器如何打开文件来学习关卡格式。
然而,另一个问题,我不会c++(我会python)。这意味着我可能无法找到代码的哪一部分读取字节等等。
我正在寻找的是能让我在代码执行过程中遵循代码流程的东西。本质上类似于在每一行设置断点,并让我在读取文件内容时显示代码的特定部分正在执行。 但是,显然在每一行都设置断点是非常困惑和缓慢的。当我在编辑器中打开文件时,我正在寻找能够简单地显示正在运行的代码的东西。
有人知道我能做什么吗?谢谢。
最佳答案
您正在寻找一种从一个语句跳转到下一个语句的功能;我知道的每个调试器都有这样的功能。您首先在感兴趣区域的开头设置一个断点,然后从那里开始“单步执行”您的代码。
例如在 Visual C++ 2010 中,F10 键执行一步;您还可以使用 F11“进入”下一条语句(例如方法调用)。
在您的情况下,将断点设置为开始读取关卡文件的位置,然后从那里继续。找到读取文件的位置也可能是一个难题——取决于代码的清晰度;但如果它的代码编写得很好,那么应该有一个名称中带有“read”或“load”或类似名称的方法 - 你会明白的!
不过,您可能必须至少了解一些基本的 C++ 语法才能了解正在发生的事情。
我还建议阅读调试方法(例如 this one)。
关于c++ - 遵循代码流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12315157/