2020計算機頂級大會
When it comes to debugging, the tool you use is extremely important and can determine how easy is is to fix problems within your code.
在調試方面,您使用的工具非常重要,可以確定在代碼中修復問題的難易程度。
In the early days, the debugging process was quite a challenge. With the distinct lack of reliable debuggers, developers turned to several hacks.
在早期,調試過程是一個很大的挑戰。 由于明顯缺乏可靠的調試器,因此開發人員轉向了一些黑客。
For instance, when debugging a mobile app or website, you would recreate issues on your desktop and then use Chrome developer tools and similar toolkits. Unfortunately, these hacks were not as effective?—?you had to constantly shift back and forth from your desktop browser and mobile device.
例如,在調試移動應用或網站時,您將在桌面上重新創建問題,然后使用Chrome開發者工具和類似的工具包。 不幸的是,這些黑客沒有那么有效-您不得不不斷地從臺式機瀏覽器和移動設備上來回移動。
Fast forward to today, and we have a powerful suite of tools that allow you to debug defective code running on a different device as if it were local code. Best of all, these remote debugging tools not only address the debugging challenges but also enhance collaboration across development teams.
時至今日,我們擁有一套功能強大的工具,可讓您調試在其他設備上運行的有缺陷的代碼,就像本地代碼一樣。 最重要的是,這些遠程調試工具不僅可以解決調試難題,而且可以增強開發團隊之間的協作。
In this post, I have put together the top ten remote debugging tools which can be reliably used to debug your code remotely.
在本文中,我匯總了十大遠程調試工具,這些工具可以可靠地用于遠程調試代碼。
轉出 (Rookout)
Rookout is an innovative tool that brings agility to the debugging process. It can be used to debug JVM, Node.JS, and Python code in both serverless and containerized applications. The beauty of Rookout lies in its ability to allow users to debug both staging and production applications quickly and securely. It eliminates the lengthy and complicated debugging processes by providing all the data needed in a matter of seconds. The on-demand data provided by Rookout ensures developers can understand and debug issues lying within their code without coding, redeploying or restarting their applications.
淘汰工作是一種創新工具,可為調試過程帶來敏捷性。 它可用于在無服務器和容器化應用程序中調試JVM,Node.JS和Python代碼。 Rookout的優點在于它具有允許用戶快速安全地調試暫存和生產應用程序的功能。 通過在幾秒鐘內提供所需的所有數據,它消除了冗長而復雜的調試過程。 Rookout提供的按需數據可確保開發人員無需編碼,重新部署或重新啟動應用程序即可理解和調試其代碼中的問題。
With Rookout, you can remotely debug live Electron apps. Rookout’s shareable interface allows developers to set non-breaking breakpoints in troublesome Electron apps. The tool gives you complete visibility into your app's performance, so you can trace issues and develop appropriate fixes. Rookout makes all this possible without the need to install another software on the end-user
借助Rookout,您可以遠程調試實時Electron應用程序。 Rookout的共享界面允許開發人員在麻煩的Electron應用程序中設置不間斷的斷點。 該工具使您可以完全了解應用程序的性能,因此您可以跟蹤問題并開發適當的修復程序。 借助Rookout,無需在最終用戶上安裝其他軟件即可實現所有這些操作
強調 (Highlights)
- Easy to get started 易于上手
- Seamless Git integration 無縫的Git集成
- Integrates with a range of tools including Slack, Datadog, Sentry, Sumologic, and more 與各種工具集成,包括Slack,Datadog,Sentry,Sumologic等
- Interaction tracking and screen sharing capabilities 互動跟蹤和屏幕共享功能
- Provides comprehensive debugging data in real-time 實時提供全面的調試數據
Visual Studio程式碼 (Visual Studio Code)
Visual Studio Code is always a top pick for every developer working with .NET. It has a ton of features to facilitate both local and remote debugging. With this tool, you can set conditional breakpoints and log points.It also allows you to inspect variables. For remote debugging, you will need to install the VS code remote development extension pack. This package has three extensions that provide everything you need to launch, monitor, and accelerate your remote debugging loop.
對于使用.NET的每個開發人員, Visual Studio代碼始終是首選。 它具有大量功能,可促進本地和遠程調試。 使用此工具可以設置條件斷點和日志點,還可以檢查變量。 對于遠程調試,您將需要安裝VS代碼遠程開發擴展包 。 該軟件包具有三個擴展,可提供啟動,監視和加速遠程調試循環所需的一切。
強調 (Highlights)
- Free to use, cross-platform operations 免費使用,跨平臺操作
- Highly active development community with Microsoft backing 微軟支持的高度活躍的開發社區
- Integrated Git control 集成Git控制
- Supports a wide array of extensions and customization options for workflow enhancement 支持多種擴展和自定義選項,以增強工作流程
- Automatic error checking and color coding is great 自動錯誤檢查和顏色編碼很棒
Ruby礦 (RubyMine)
RubyMine is a powerful and intelligent cross-platform IDE that allows you to debug Ruby on Rails, CoffeeScript, JavaScript, CSS, ERB and HAML, and more. Its advanced built-in debugger allows you to set breakpoints and define hit conditions with ease.
RubyMine是功能強大且智能的跨平臺IDE,可讓您調試Ruby on Rails,CoffeeScript,JavaScript,CSS,ERB和HAML等。 其先進的內置調試器使您可以輕松設置斷點并定義命中條件。
JetBrains' RubyMine provides two ways to debug applications that run on remote devices. First, you can add the remote Ruby interpreter and configure mappings between local and remote project files, then launch your debugging session. Alternatively, you can run applications on the remote device then add the Ruby interpreter. Once done, configure mappings between files and bind to a running process. The latter is especially helpful when debugging an application that you cannot launch directly from your IDE.
JetBrains的RubyMine提供了兩種方法來調試在遠程設備上運行的應用程序。 首先,您可以添加遠程Ruby解釋器并配置本地和遠程項目文件之間的映射,然后啟動調試會話。 另外,您可以在遠程設備上運行應用程序,然后添加Ruby解釋器。 完成后,配置文件之間的映射并綁定到正在運行的進程。 當調試無法直接從IDE啟動的應用程序時,后者特別有用。
Another great thing about this tool is that it allows you to launch multiple debug processes simultaneously.
此工具的另一個優點是,它允許您同時啟動多個調試過程。
強調 (Highlights)
- RubyMine is based on the solid intelliJ IDEA platform RubyMine基于可靠的智能IDEA平臺
- Good support for ruby-related frameworks and technologies 對與Ruby有關的框架和技術的良好支持
- Autocomplete feature is pretty good 自動完成功能相當不錯
- Good Git integration. 良好的Git集成。
- Supports multiple plugins 支持多個插件
- Integrates seamlessly with rails 與Rails無縫集成
藥香 (PyCharm)
PyCharm is another robust IDE developed by JetBrains for Python. This intelligent code editor is equipped with remote development capabilities, including running, testing, debugging, deploying and applications on virtual machines and remote hosts.
PyCharm是JetBrains為Python開發的另一個強大的IDE。 該智能代碼編輯器具備遠程開發功能,包括在虛擬機和遠程主機上運行,??測試,調試,部署和應用程序。
The debugger offers several breakpoints, frames view, watches, stepping modes, remote interpreters, and a debug console.
調試器提供了幾個斷點,幀視圖,監視,步進模式,遠程解釋器和調試控制臺。
Some amazing features of PyCharm include sophisticated auto-completion, excellent refactoring support and seamless integration with tools such as Django, IPython, Docker, Vagrant, and Pytest. Additionally, PyCharm is a wonderful cross-platform development tool. Other than Python, it supports JavaScript, Cython, CoffeeScript, TypeScript SQL, HTML/CSS, Node.js, AngularJS, and more.
PyCharm的一些驚人功能包括完善的自動完成功能,出色的重構支持以及與Django,IPython,Docker,Vagrant和Pytest等工具的無縫集成。 此外,PyCharm是一款出色的跨平臺開發工具。 除Python以外,它還支持JavaScript,Cython,CoffeeScript,TypeScript SQL,HTML / CSS,Node.js,AngularJS等。
強調 (Highlights)
- Awesome connectivity with multiple databases for querying within the IDE 與多個數據庫的強大連接,可在IDE中進行查詢
- Searching and installing packages is easy 搜索和安裝軟件包很容易
- Automatic code completion 自動完成代碼
- Git visualization Git可視化
- Shows code errors on the fly and facilitates easy fixing 實時顯示代碼錯誤,并易于修復
廣東發展銀行 (GDB)
GDB can be effectively used to debug programs on another computer. To perform remote debugging, you will need to run the GDB utility in the host system. Additionally, you must run gdbserver on the target system so that the two utilities will communicate through a network or serial line using the GDB remote serial protocol.
GDB可以有效地用于調試另一臺計算機上的程序。 要執行遠程調試,您將需要在主機系統中運行GDB實用程序。 此外,必須在目標系統上運行gdbserver,以便兩個實用程序將使用GDB遠程串行協議通過網絡或串行線路進行通信。
There are two configuration options for remote debugging with GDB/gdbserver. The first involves using the remote GDB server to automatically build and upload application code to the remote machine. The second option is using GDB remote debug where you should have the executable files.
使用GDB / gdbserver進行遠程調試有兩個配置選項。 第一個涉及使用遠程GDB服務器自動構建應用程序代碼并將其上載到遠程計算機。 第二個選項是使用GDB遠程調試,您應該在其中具有可執行文件。
強調 (Highlights )
- Easy to use and trace faults within code 易于使用并跟蹤代碼中的錯誤
- Cross-platform and wide language support 跨平臺和廣泛的語言支持
- Effective for core dump analysis 對核心轉儲分析有效
蝕 (Eclipse)
Eclipse is a renowned IDE for Java development that also supports languages like Python, Ruby, C# and, PHP. The Eclipse IDE is equipped with advanced features for development and debugging, making it an all-rounded tool. One of the most impressive features on Eclipse is the platform’s debug perspective that shows detailed debugging information such as breakpoints, variables, call stacks, and threads side by side. Using Eclipse, you can step through program execution, suspend and resume threads, evaluate expressions and inspect values. Managing remote debugging configurations on Eclipse is quite easy and straightforward, which makes the tool more popular among developers.
Eclipse是Java開發的著名IDE,它還支持Python,Ruby,C#和PHP等語言。 Eclipse IDE具備用于開發和調試的高級功能,使其成為一種全面的工具。 Eclipse上最令人印象深刻的功能之一是該平臺的調試透視圖,該視圖并排顯示了詳細的調試信息,例如斷點,變量,調用堆棧和線程。 使用Eclipse,您可以逐步執行程序,暫停和恢復線程,評估表達式并檢查值。 在Eclipse上管理遠程調試配置非常容易和直接,這使得該工具在開發人員中更受歡迎。
強調 (Highlights)
- Automatic code completion 自動完成代碼
- Good refactoring support 良好的重構支持
- Excellent navigation capability 出色的導航能力
- Helps with syntax checking for clean and efficient code 幫助語法檢查以獲取干凈有效的代碼
- Git Integration Git集成
Zend Studio調試器 (Zend Studio Debugger)
The Zend Studio is a professional IDE that supports PHP code editing, testing, debugging, and more. It is tightly integrated with the Zend Server, thereby creating a complete PHP environment that facilitates easier analysis of problems detected in staging and production environments. Zend also provides a PHP extension that users can install on web servers to debug PHP scripts. Using Zend for debugging is relatively easy – you only need to open the source code, set breakpoints in the project, and run a debug session.
Zend Studio是一個專業的IDE,支持PHP代碼編輯,測試,調試等。 它與Zend Server緊密集成,從而創建了一個完整PHP環境,可簡化對在暫存和生產環境中檢測到的問題的分析。 Zend還提供了一個PHP擴展,用戶可以將其安裝在Web服務器上以調試PHP腳本。 使用Zend進行調試相對容易-您只需要打開源代碼,在項目中設置斷點并運行調試會話即可。
Remote debugging on Zend can be done in three ways. The first option is using the Debug URL functionality on Zend Studio. Secondly, you can use the Debug as Web Page functionality within Zend Studio. And finally, using the Zend browser toolbar on Firefox or Chrome.
在Zend上的遠程調試可以通過三種方式完成。 第一種選擇是在Zend Studio上使用“調試URL”功能。 其次,您可以在Zend Studio中使用“作為網頁調試”功能。 最后,使用Firefox或Chrome上的Zend瀏覽器工具欄。
強調 (Highlights)
- Ability to sift through project files in just a few keystrokes 只需幾次按鍵即可瀏覽項目文件的能力
- Highly efficient and speedy platform 高效快捷的平臺
- Large community support 大型社區支持
- Great for building and debugging PHP applications 非常適合構建和調試PHP應用程序
- The framework is exceptionally flexible 該框架非常靈活
WinPdb的 (WinPdb)
WinPdb is an excellent Python debugger that works well on Windows, Mac OS, and Linux systems. It is compatible with both Python 2.x and Python 3.x.This debugging tool supports smart breakpoints, namespace modification, multiple threads, embedded debugging, and encrypted communication. For remote debugging, you will need to copy rpdb2.py (Winpdb’s command-line debugger) onto the remote machine. Once finished, start the Python script with the debugger on the remote machine. From your local device, launch the GUI and attach the script to debug. At this point, you can use the basename or full path of the script as it is on the remote device. You can learn more about debugging Python scripts with Win PDB here.
WinPdb是一個出色的Python調試器,可在Windows,Mac OS和Linux系統上很好地運行。 它與Python 2.x和Python 3.x兼容。此調試工具支持智能斷點,名稱空間修改,多線程,嵌入式調試和加密通信。 對于遠程調試,您需要將rpdb2.py(Winpdb的命令行調試器)復制到遠程計算機上。 完成后,使用遠程計算機上的調試器啟動Python腳本。 在本地設備上,啟動GUI并將腳本附加到調試中。 此時,您可以使用腳本的基本名稱或完整路徑,就像在遠程設備上一樣。 您可以在此處了解有關使用Win PDB調試Python腳本的更多信息。
強調 (Highlights)
- Supports multithread debugging 支持多線程調試
- Encrypted communication for remote debugging 加密通信,用于遠程調試
- Quicker than PDB 比PDB快
- Easy to use GUI with breakpoints, stack/variable inspection, and more 具有斷點,堆棧/變量檢查等功能的易于使用的GUI
Use the above tools to make your remote debugging experience much better. Happy coding!
使用上述工具可以使您的遠程調試體驗更好。 祝您編碼愉快!
翻譯自: https://www.freecodecamp.org/news/remote-debugging-tools/
2020計算機頂級大會