[关闭]
@levinzhang 2020-05-14T08:12:34.000000Z 字数 3319 阅读 767

2020年最强大的远程调试工具

摘要

在进行代码调试的时候,工具是非常重要的,在很大程度上,工具可以决定我们是否能够快速修复代码中的问题。在本文中,作者总结了常见的优秀调试工具及其亮点。


本文最初发表于freeCodeCamp网站,经作者Anton Lawrence授权,由InfoQ中文站翻译分享。

在进行代码调试的时候,工具是非常重要的,在很大程度上,工具可以决定我们是否能够快速修复代码中的问题。

在前些年,调试是很具挑战性的一项任务。由于缺乏可靠的调试器,开发人员不得不求助于一些特殊的技巧。

例如,在调试移动应用和Web站点的时候,你需要在桌面电脑上重现问题,然后使用Chrome开发者工具或其他类似的工具集。

令人遗憾的是,这些技巧并不是那么有效,你必须要在桌面浏览器和移动设备之间不断地切换。

快进到今天,我们现在有了一个强大的工具套件,它允许我们就像运行本地应用那样在不同的设备上调试有缺陷的代码。最重要的是,这些远程调试工具不仅解决了调试方面所面临的挑战还增强了开发团队之间的协作。

在本文中,我整理了一些优秀的远程调试工具,借助它们,我们可以可靠地远程调试你的代码。

Rookout

Rookout是一个创新性的工具,它提升了调试过程的敏捷性。它可以调试serverless和容器化应用中的JVM、Node.JS和Python代码。

Rookout非常棒的一点在于它允许用户快速且安全地调试staging和生产环境的应用。它能够在几秒钟之内提供所有需要的数据,消除了冗长和复杂的调试过程。

Rookout能够按需提供数据,确保了开发人员可以理解和调试代码中所存在的问题,不需要编码、重新部署和重新启动他们的应用。

借助Rookout,我们可以远程调试实时的Electron应用。Rookout的可共享接口允许开发者在棘手的Electron应用程序中设置不间断的断点(与常规端点类似,只不过这种端点不接触代码,能够让我们在不停止或中断应用的情况下,获取代码中的数据)。

借助该工具,我们可以完整地看到应用的性能,这样就可以跟踪问题并开发对应的修复程序。Rookout能够让这一切变成现实,而且不需要在终端用户上安装任何额外的软件。

亮点

Visual Studio Code

Visual Studio Code始终是每个使用.NET开发人员的首选。它有大量的特性来实现本地和远程调试。借助该工具,我们可以设置条件端点和日志点。

它还允许我们探查变量。对于远程调试,我们需要安装VS code远程开发扩展包。这个包有三个扩展,它们提供了启动、监控和加速远程调试循环的所有内容。

亮点

RubyMine

RubyMine是一个强大的、智能的跨平台IDE,它允许我们调试Ruby on Rails、CoffeeScript、JavaScript、CSS、ERB和HAML等,其优秀的内置调试器允许我们轻松地设置断点和定义命中条件。

JetBrains的RubyMine提供了两种方式来调试在远程设备上运行的应用。首先,你可以添加远程Ruby解释器并配置本地和远程项目文件的映射,然后启动调试会话。

或者,你也可以在远程设备上运行应用,然后添加Ruby解释器。

完成之后,配置文件之间的映射并绑定到运行中的进程上。在调试无法在IDE直接启动的应用时,这一点尤为重要。

这个工具另外很棒的一点在于它允许我们同时启动多个调试进程。

亮点

PyCharm

PyCharm是JetBrains为Python开发的一个健壮的IDE。这个智能的代码编辑器提供了远程开发的功能,包括在虚拟机和远程主机上运行、测试、调试和部署应用的能力。

调试器提供了多种断点、帧视图、监视、步进模式、远程解释器以及一个调试控制台。

PyCharm提供了很多令人惊叹的特性,包括复杂场景的自动完成、优秀的重构支持以及与其他工具的无缝集成,如Django、IPython、Docker、Vagrant和Pytest。

除此之外,PyCharm还是一个非常棒的跨平台开发工具。除了Python,它还支持JavaScript、Cython、CoffeeScript、TypeScript、SQL、HTML/CSS、Node.js、AngularJS等。

亮点

GDB

GDB可以高效地调试另外一台机器上的程序。为了进行远程调试,我们需要在宿主机上运行GDB工具。另外,需要在目标系统上运行gdbserver,这样两个工具就可以通过网络或者GDB远程序列化协议的serial line进行通信。

GDB/gdbserver的远程调试有两个配置选项。首先,涉及到使用远程GDB自动构建并上传应用代码到远程机器。

第二个选项是在应该使用可执行文件的地方,使用GDB的远程调试功能。

亮点

Eclipse

Eclipse是一个适用于Java开发的知名IDE,同时还支持Python、Ruby、C#和PHP等语言。Eclipse IDE具有开发和调试的高级特性,使其成为一个全面的工具。

Eclipse最令人印象深刻的特性之一就是平台的调试视图,它能够展现详细的调试信息,如断点、变量、调用栈以及线程。

借助Eclipse,我们可以单步执行程序、挂起和恢复线程、计算表达式以及探查表达式的值。在Eclipse上管理远程调试配置非常简单直接,这使得该工具在开发者中更受欢迎。

亮点

Zend Studio调试器

Zend Studio是一个专业的IDE,支持PHP代码的编辑、测试、调试等功能。

它与Zend Server进行了紧密的集成,因此创建了一个完整的PHP环境,可以更容易地分析在staging和生产环境中探测到的问题。

Zend还提供了一个PHP扩展,用户可以将其安装到Web服务器上以调试PHP脚本。使用Zend进行调试非常容易,你只需要打开源码、在项目中设置断点并运行调试会话即可。

Zend上的远程调试可以通过三种方式实现。第一个方案是使用Zend Studio上的Debug URL功能。

其次,你可以使用Zend Studio中的Debug as Web Page功能。最后,还可以使用Firefox或Chrome上的Zend浏览器工具栏。

亮点

WinPdb

WinPdb是一个非常棒的Python调试器,能够很好地在Windows、Mac OS和Linux系统上运行。它同时兼容 Python 2.x和Python 3.x。

这个调试工具支持智能断点、命名空间修改、多线程、嵌入式调试以及加密通信。对于远程调试功能来讲,我们需要将rpdb2.py(Winpdb的命令行调试器)复制到远程机器上。

完成之后,使用调试器在远程机器启动Python脚本。在本地机器上,启动GUI并关联要调试的脚本。此时,我们可以使用远程设备脚本的基础名称或完整路径。关于使用WinPDB调试Python脚本的更多知识,可以参考该教程

亮点

使用这些工具能够为我们带来更好的远程调试体验。编码愉快

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注