goland terminal启动调试_使用 GoLand 进行调试的要点

  • Post author:
  • Post category:其他

Florin Păţan2019 年 2 月 14 日 发表

在今天的帖子中,我们将继续探索 GoLand 中的调试器功能。如果你想知道如何配置调试器。请查看我们之前的帖子,其中包含关于如何配置 IDE 在各种方案中工作的所有信息。

我们将讨论:

  • [控制执行流程](https://studygolang.com/articles/20746# 控制执行流程)
  • [计算表达式](https://studygolang.com/articles/20746# 计算表达式)
  • [查看自定义值](https://studygolang.com/articles/20746# 查看自定义值)
  • [更改变量值](https://studygolang.com/articles/20746# 更改变量值)
  • [使用断点](https://studygolang.com/articles/20746# 使用断点)

在我们启动调试会话之前,让我们为感兴趣的地方添加一些断点,以便了解代码是如何运行的,然后启动调试对话。

5feeeb258828d76d7dc2e972555e6156.png

控制执行流程

我们可以从这里完全控制调试器,我们可以用 step into, smart step into, step over, step out 或者运行代码到光标处。

db28a2931b4f59eefcf192c32e503621.png

计算表达式

我们也可以用它来计算简单的表达式。由于 Delve 的限制,目前不支持调用函数,但请为此功能投票以获取更多信息:https://youtrack.jetbrains.com/issue/GO-3433

a24d7472ff18303411829877847d9788.png

查看自定义值

我们通过创建一个新的观察器( watch)来监控自定义表达式。这对观察复杂的表达式或查看 slice/map/struct 中的特定值是非常有用的。

c70884c8f4e56f2aabd1456ed8a0d0d7.png

更改变量值

由于 Go 运行时的限制,目前只能对*非字符串基本类型*(如 *int*, *float* 或 *boolean* 类型)更改值。 要执行此操作,请从变量视图中选择要更改的值,然后按 F2 键并开始输入值。当你满意时,请按 *Enter* 键,你的代码现在将使用一个不同的值。

ccd773313435786a076de8e8b8efb089.png

使用断点

设置断点是一个相当简单的操作,单击要停止执行的行左侧,或者用快捷键 *Ctrl+F8/Cmd+F8*,调试器将停止执行。 如果你不需要更多东西,那这就是你真正需要知道的所有东西。但是,GoLand 为你和调试器如何与断点进行交互提供了一些很好的选择

按下 *Ctrl+Shift+F8/Cmd+Shift+F8* 一次,你将会看到一个包含几个选项的屏幕

再次按下 *Ctrl+Shift+F8/Cmd+Shift+F8*,将显示断点列表,其中包含所有可用选项的完整列表

4b5f11f347e9f4bd7bc188af1cb07d00.png

在此处你可以启动或禁用断点,并用调试器在调试对话期间暂停调试进程的执行,或仅在满足某个特定的条件时才触发断点。

169f66e56bcf869d5aee189742eb22b5.png

我们还可以选择让 IDE 记录到达的某个断点,或者在控制台中打印堆栈轨迹,以便我们可以在文本模式下查看它。

这里我们可以使用另一个强大的功能 *求值和记录(Evaluate and log)* ,它可以让 IDE 计算一个表达式并在***控制台***中打印。 如果你想放置临时断点,可以启用“一次删除选项”,IDE 将自动删除断点。或者,只有前置断点被满足时,才能启用该断点,这对于调试复杂的条件代码非常有用。

8d8dacbbbb35f02f920dd3d12bdbb601.png

在这篇文章中,我们研究了使用 IDE 调试应用程序和测试。这将帮助我们更快地深入了解应用程序,更有效地发现和修复错误。

在下一篇博文中,我们将探讨 2019.1 发行版中调试器的新功能,因此关注我们的博客和社交媒体渠道以获取更新。

一如既往,如果你有任何反馈意见,请在下面的评论部分,Twitter 或我们的问题追踪 上告诉我们。



版权声明:本文为weixin_39853523原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。