本文最初揭橥于 freeCodeCamp 网站,经作者 Anton Lawrence 授权,由 InfoQ 中文站翻译分享。
代码调试时,工具很主要,由于某种程度上,它能决定我们是否可以快速修复代码中的问题。以前,调试颇具寻衅。由于缺少可靠的调试器,开拓职员不得不该用一些分外技巧。
例如,在调试移动运用和 Web 站点时,你须要在桌面电脑上重现问题,然后利用 Chrome 开拓者工具或其他类似的工具集。但是,这些技巧并不是那么有效,你必须要在桌面浏览器和移动设备间不断切换。而本日,我们有了一个强大的工具套件,它许可我们就像运行本地运用那样在不同的设备上调试有缺陷的代码。最主要的是,这些远程调试工具不仅办理了调试方面所面临的寻衅,还加强了开拓团队间的协作。
1.Rookout
Rookout 是一个创新性的工具,它提升了调试过程的敏捷性。它可以调试 serverless 和容器化运用中的 JVM、Node.JS 和 Python 代码。
Rookout 非常棒的一点在于它许可用户快速且安全地调试 staging 和生产环境的运用。它能够在几秒钟之内供应所有须要的数据,肃清了冗长和繁芜的调试过程。
Rookout 能够按需供应数据,确保了开拓职员可以理解和调试代码中所存在的问题,不须要编码、重新支配和重新启动他们的运用。
借助 Rookout,我们可以远程调试实时的 Electron 运用。Rookout 的可共享接口许可开拓者在棘手的 Electron 运用程序中设置不间断的断点(与常规端点类似,只不过这种端点不打仗代码,能够让我们在一直止或中断运用的情形下,获取代码中的数据)。
借助该工具,我们可以完全地看到运用的性能,这样就可以跟踪问题并开拓对应的修复程序。Rookout 能够让这统统变成现实,而且不须要在终端用户上安装任何额外的软件。
亮点易于上手起步;与 Git 无缝集成;支持与一系列工具的集成,如 Slack、Datadog、Sentry、Sumologic 等;交互跟踪和屏幕共享功能;实时供应全面的调试数据。2.Visual Studio CodeVisual Studio Code 始终是每个利用.NET 开拓职员的首选。它有大量的特性来实现本地和远程调试。借助该工具,我们可以设置条件端点和日志点。
它还许可我们探查变量。对付远程调试,我们须要安装 VS code 远程开拓扩展包。这个包有三个扩展,它们供应了启动、监控和加速远程调试循环的所有内容。
亮点免费试用,跨平台;有微软支持的高度生动的开拓社区;集成了 Git 版本掌握;用来实现事情流增强的大量扩展和定制选项;非常棒的自动化代码检讨和代码颜色高亮。3.RubyMineRubyMine 是一个强大的、智能的跨平台 IDE,它许可我们调试 Ruby on Rails、CoffeeScript、JavaScript、CSS、ERB 和 HAML 等,其精良的内置调试器许可我们轻松地设置断点和定义命中条件。
JetBrains 的 RubyMine 供应了两种办法来调试在远程设备上运行的运用。首先,你可以添加远程 Ruby 阐明器并配置本地和远程项目文件的映射,然后启动调试会话。
或者,你也可以在远程设备上运行运用,然后添加 Ruby 阐明器。
完成之后,配置文件之间的映射并绑定到运行中的进程上。在调试无法在 IDE 直接启动的运用时,这一点尤为主要。
这个工具其余很棒的一点在于它许可我们同时启动多个调试进程。
亮点RubyMine 基于强大的 intelliJ IDEA 平台;对 Ruby 干系的框架和技能供应了良好的支持;自动完成特性非常棒;与 Git 集成地非常好;支持多个插件;与 Rails 无缝集成。4.PyCharm
PyCharm 是 JetBrains 为 Python 开拓的一个健壮的 IDE。这个智能的代码编辑器供应了远程开拓的功能,包括在虚拟机和远程主机上运行、测试、调试和支配运用的能力。
调试器供应了多种断点、帧视图、监视、步进模式、远程阐明器以及一个调试掌握台。
PyCharm 供应了很多令人惊叹的特性,包括繁芜场景的自动完成、精良的重构支持以及与其他工具的无缝集成,如 Django、IPython、Docker、Vagrant 和 Pytest。
除此之外,PyCharm 还是一个非常棒的跨平台开拓工具。除了 Python,它还支持 JavaScript、Cython、CoffeeScript、TypeScript、SQL、HTML/CSS、Node.js、AngularJS 等。
亮点出色在 IDE 中连接多数据库进行查询的功能;搜索和安装包非常随意马虎;自动化的代码天生;Git 可视化;动态展示代码缺点,使其易于修复。5.GDBGDB 可以高效地调试其余一台机器上的程序。为了进行远程调试,我们须要在宿主机上运行 GDB 工具。其余,须要在目标系统上运行 gdbserver,这样两个工具就可以通过网络或者 GDB 远程序列化协议的 serial line 进行通信。
GDB/gdbserver 的远程调试有两个配置选项。首先,涉及到利用远程 GDB 自动构建并上传运用代码到远程机器。
第二个选项是在该当利用可实行文件的地方,利用 GDB 的远程调试功能。
亮点易于利用和跟踪代码中的缺点;跨平台并供应了广泛的措辞支持;高效的核心 dump 剖析。6.Eclipse
Eclipse 是一个适用于 Java 开拓的有名 IDE,同时还支持 Python、Ruby、C#和 PHP 等措辞。Eclipse IDE 具有开拓和调试的高等特性,使其成为一个全面的工具。
Eclipse 最令人印象深刻的特性之一便是平台的调试视图,它能够展现详细的调试信息,如断点、变量、调用栈以及线程。
借助 Eclipse,我们可以单步实行程序、挂起和规复线程、打算表达式以及探查表达式的值。在 Eclipse 上管理远程调试配置非常大略直接,这使得该工具在开拓者中更受欢迎。
亮点自动化的代码完成;对重构的良好支持;精良的导航功能;有助于进行语法检讨,实现整洁和高效的代码;Git 集成。7.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 浏览器工具栏。
亮点能够通过大略的几个按键筛选项目文件;高效、快速的平台;广大的社区支持;非常适宜构建和调试 PHP 运用;该框架非常灵巧。8.WinPdbWinPdb 是一个非常棒的 Python 调试器,能够很好地在 Windows、Mac OS 和 Linux 系统上运行。它同时兼容 Python 2.x 和 Python 3.x。
这个调试工具支持智能断点、命名空间修正、多线程、嵌入式调试以及加密通信。对付远程调试功能来讲,我们须要将 rpdb2.py(Winpdb 的命令行调试器)复制到远程机器上。
完成之后,利用调试器在远程机器启动 Python 脚本。在本地机器上,启动 GUI 并关联要调试的脚本。此时,我们可以利用远程设备脚本的根本名称或完全路径。关于利用 WinPDB 调试 Python 脚本的更多知识,可以参考该教程。
亮点支持多线程调试;支持远程调试的加密通信;比 PDB 更快;易于利用的 GUI,支持断点、栈、变量探测等功能。