Previous topicNext topic
Help > 开发指南 > 代码编辑器 >
代码调试

我们可以通过简单的设置,添加一些简单的调试断点,以帮助我们实现快速定位问题点。

调试方案

目前我们还没有做出像VS那样在运行时可以实时调试代码、监控代码变量值的功能。我们先设计了一套相对简单的调试方案。我们的思路是设计一个类MsgDebug,可以控制在指定位置弹出一个对话框,告诉我们当前代码运行到了哪里。在一些循环当中如果一直弹出对话框的话,会非常麻烦和低效,所以我们需要可以随时关闭弹出窗口,只在类内部记录相应的信息以及时间点,然后最后将所有的信息以弹窗的形式展示出来,方便开发者查看代码运行到指定位置所需要的时间,以及相应位置的部分变量的值。

操作步骤

首先,我们需要先选择“增加断点”选项,如果我们需要在每个断点位置都会弹出一个对话框,将相应的步骤展示出来,方便我们可以定位程序运行的进程的话,我们还需要将“弹窗提示”选项选中。这时候,我们在代码编辑器的左侧灰色断点区域可以通过鼠标单击来实现添加或删除断点(单击一次为新增,在已经新增出来的断点上再次单击即为删除相应的断点)。

然后,当我们已经设置完成所有的断点之后,就可以再次取消“增加断点”选项,这样就可以将相应的断点转换为相应的调试代码。

Proj.MsgDebug.ShowMessage=true;这一句代码为第一个断点之前多出来的一个启用弹出窗口的开关。如果我们没有选择“弹窗提示”选项的话,这里会是Proj.MsgDebug.ShowMessage= false;在一些循环的前面,我们也可以手动添加这样的代码以关闭弹出窗口,在循环结束后再打开弹出窗口,以提高调试的效率。

Proj.MsgDebug.Add (0);其他每个断点位置多了一句调试代码。用来记录或者弹出调试信息的内容。这些代码是根据断点的序号生成的。Add的数据将来会是弹出对话框的内容,这样方便我们知道代码运行到了哪一步。如果我们需要查看某些变量的值,就可以把相应的变量传递进去,如:Proj.MsgDebug.Add (变量);

Proj.MsgDebug.show();断点的最后一个位置后会有一个显示所有断点信息的语句。代码运行到这里时,会将前面所有弹出的信息统一的在这里一起再次展示出来,方便我们可以查看一下哪几个步骤之间耗时比较多。

清除断点

我们之前通过增加断点添加的调试代码,在我们调试完之后需要人工清除掉。我们去点击“清除断点”按钮,实际上就是遍历一下所有代码行,看到是Proj.MsgDebug.开头的代码,都会被删除掉。这样就可以快速高效地完成清除断点的工作。