使用附带的调试器启动你的程序。调试器的目的是干扰程序的执行,并向你提供有关程序内部执行情况的信息,这有助于你检测和修复程序中的错误。 有多种方法可以运行调试会话,然而,为了简化文档假设你在使用 Goland 构建和运行你的项目。这是最常见的情况,而且这个和其它更先进的技术相比,它的局限性更小。连接到进程并且调试一个远程应用的步骤在 使用调试器连接到正在运行的Go进程被提及。
- 在 设置/首选项 | 构建,执行,部署 | 调试器 (Settings/Preferences | Build, Execution, Deployment | Debugger)中设置常见的调试属性和行为。 如果你是调试的新手,开箱即用的配置将适合你。每个调试器功能的主题都提供了参考,并在适用的情况下解释了相关设置。如果你是高级用户并且在寻找特定的功能,可以参考调试器章节。
- 如果需要使用自定义的 运行/调试 设置,请自行设置。如果你需要一些参数传输到程序中或者在程序启动前执行一些特定活动,这是必要的。有关如何设置 运行/调试 设置的更多信息,请参考运行/调试 设置章节。大多数时候,当你调试一个不需要特定参数或者一些特殊要求的简单程序是不需要这样做。
对于调试应用程序,没有一刀切的过程。根据实际需求,你可能需要在不同顺序使用不同行为。本主题提供一般指导原则,代表典型的调试步骤。有关如何以及何时使用特定功能的详细信息,请参见相关主题。
- 定义什么时候程序需要停止执行。这可以通过断点来实现。断点是特殊的标记,表示调试器需要介入并冻结程序状态的位置。被调试器冻结的程序是暂停的。
- 使用调试模式运行程序 就行定期运行程序一样,你可以同时调试程序。
- 当程序被暂停之后,使用调试器可以获取程序的状态信息和它在运行时是如何改变的。 调试器提供你有关变量值,profiler 标签,goroutines 的当前状态等信息。 这些工具让你在特定时刻检查程序状态,步入功能则可以让你控制程序的逐步执行。通过组合这些工具,你可以推断错误的来源,并测试你的程序的健壮性。