Delve is now available on Red Hat Enterprise Linux (RHEL). Starting in the RHEL 8.2 and
devtools-2020.2 releases, the Go language debugger Delve will be installed with the Go toolchain itself via the
Continue reading Using Delve to debug Go programs on Red Hat Enterprise Linux
The 0.2.0 release version of the Red Hat OpenShift extension for JetBrains IntelliJ is now available. You can download the OpenShift Connector extension from the JetBrains Plugins Repository. This release provides a new OpenShift: Debug action to simplify the debugging of OpenShift Components pushed to a cluster. It is similar to features developed for Visual Studio Code and JBoss Tools for Eclipse. OpenShift Connector uses OpenShift Do‘s (
odo‘s) debug command under the hood and supports only local Java and Node.js components. This enhancement lets the user write and debug local code without leaving IntelliJ.
This article explains how OpenShift: Debug works and shares the difference between debugging Java and Node.js components in IntelliJ.
Continue reading “JetBrains IntelliJ Red Hat OpenShift extension provides debug support for OpenShift components”
I recently needed to run a virtual machine (VM) created using
virt-manager outside of
libvirt. I was investigating an issue that required running QEMU with the machine option
dump-guest-core=on. By default,
libvirt runs with that option off, so I decided to set up a standalone QEMU environment. I found the process of configuring the test VM and writing the boot script more involved than expected, so I decided to document the steps I took.
I hope this article makes it easier for you to configure and run your own QEMU-based VM for similar investigations. Note that I do not recommend the approach described here for a VM running in production (at least, not without backup).
Continue reading “Configure and run a QEMU-based VM outside of libvirt with virt-manager”
The latest release of OpenShift Connector enhances the developer experience on Red Hat OpenShift with support for local code debugging. This enhancement lets the user write and debug local code without leaving the editor.
Continue reading Debugging components in OpenShift using VS Code
Last year, I wrote a blog post how to remotely debug your ASP.NET Core container on OpenShift with Visual Studio Code. Today I introduce how to remotely debug a pod using Visual Studio from your Windows computer. Sometimes you encounter an issue that happens only in the production environment. Remotely debugging a pod enables you to investigate such an issue.
Visual Studio and Visual Studio Code now support SSH as a transport protocol for remote debugging. If a remote host accepts an SSH connection, Visual Studio can do remote debugging using Visual Studio’s default feature. However, you need to use the
oc command instead of an SSH client such as putty since Red Hat OpenShift pods don’t allow direct connections via SSH. The MIEngine debugger enables you to use any command for SSH connection.
All the steps below have been confirmed using a combination of Visual Studio 2017 (versions 15.7.2 and 15.8 preview2) on Windows 10 and OpenShift 3.9.
Continue reading “Remotely Debug an ASP.NET Core Container Pod on OpenShift with Visual Studio”
You can study source code and manually instrument functions as described in the “Use the dynamic tracing tools, Luke” blog article, but why not make it easier to find key points in the software by adding user-space markers to the application code? User-space markers have been available in Linux for quite some time (since 2009). The inactive user-space markers do not significantly slow down the code. Having them available allows you to get a more accurate picture of what the software is doing internally when unexpected issues occur. The diagnostic instrumentation can be more portable with the user-space markers, because the instrumentation does not need to rely on instrumenting particular function names or lines numbers in source code. The naming of the instrumentation points can also make clearer what event is associated with a particular instrumentation point.
For example, Ruby MRI on Red Hat Enterprise Linux 7 has a number of different instrumentation points made available as a SystemTap tapset. If SystemTap is installed on the system, as described by What is SystemTap and how to use it?, the installed Ruby MRI instrumentation points can be listed with the
stap -L” command shown below. These events show the start and end of various operations in the Ruby runtime, such as the start and end of garbage collection (GC) marking and sweeping.
Continue reading “Making the Operation of Code More Transparent and Obvious with SystemTap”
Visual Studio provides a graphical remote debugging ASP.NET Core app with Docker Tools for Windows. Since Visual Studio supports SSH protocol, you can remote debug ASP.NET Core process running on the Linux host. It used to be if you install and setup SSH server on docker container, you can remote debug with Visual Studio. However, it’s strongly not recommended due to security reasons. Now I’ll explain to you how to remote debug your ASP.NET Core on OpenShift with Visual Studio Code by using
oc exec command instead of installing SSH server on docker container. You can use Microsoft proprietary debugger engine
vsdbg with Visual Studio Code (or other Visual Studio products). Visual Studio Code can integrate other commands than
SSH for debugger transport protocol.
Continue reading “Remote debug your ASP.NET Core container on OpenShift with Visual Studio Code”
Following the blog post series, today, finally we have Part 2, this chapter tries to explain in an easy way how to debug your hybrid app using the Safari web inspector.
As you know sometimes debugging a mobile app on a mobile device can be hard work, for Android and Web pages we have the Chrome Developer tools, this has been an extended way to do it, Part 3 of the blog post series will cover this method, for iOS we have something similar, called the Safari web inspector.
Continue reading “How to debug your mobile hybrid app on iOS”