In our last technical post, we covered migrating custom or bespoke applications where the source code may be missing. In this post, I will cover the topic of troubleshooting application migrations and discuss basic troubleshooting tools and techniques to use in your migration troubleshooting process.

Occasionally, when you migrate fully functional applications from one server to another, you may encounter functional anomalies that prevent the application from functioning properly. When this occurs, there are some basic troubleshooting steps that we recommend using to investigate, debug, and ultimately resolve the issues that are preventing the application from working properly.

Troubleshooting application migrations using Windows Task Manager

The Windows Task Manager displays the programs, processes, and services that are running on your computer. You can use Task Manager to monitor your computer’s performance or to terminate a program that is not responding. If you’re connected to a network, you can use Task Manager to view network status. If more than one person is connected to your computer, you can see who is connected and what they’re working on, and you can send them a message.

To start Task Manager, right click in any open area of the task-bar and select ‘Start Task Manager,’ or press <Ctrl><Shift><Esc>. Task Manager is often used to view when an application launches, whether it is still running, has launched other applications or processes, and to terminate applications or processes that have become non-responsive and/or start an application testing phase over.

During the migration of an application, the tether process, if enabled and active, can make the process seem to run slower due to components that are being tethered over real-time or in the background. I often use the Tether Monitor icon status and Task Manager to show the CPU utilization of the tether proxy process to determine whether tether activity is occurring. It’s normal for tether activity to occur during initial test phases.

Troubleshooting application migration with Task Manager

Windows Resource Monitor

Resource Monitor is a system application in some Windows operating systems which displays real time information about the use of hardware and software resources. Open Resource Monitor by clicking the Start button; in the search box type Resource Monitor or run resmon.exe. Alternatively, you can launch Resource Monitor from the <Performance> tab of Task Manager by clicking the Resource Monitor link/button.

For application migrations, Resource Monitor is useful for monitoring file and network I/O of an application to determine whether it’s reading/writing to the file system and/or network.

Troubleshooting application migrations using Resource Monitor

Windows Services

A service is a specialized program that performs a function to support other programs. Many services operate at a very low level and need to run when no user is logged on; for this reason, they are often run by the SYSTEM account (which has elevated privileges) unlike ordinary user accounts. We’ll review how to use Windows Services to view migrated services, start, stop, and configure them. Another great method for viewing services on your computer is through the <Services> tab of Task Manager.

You manage services with the Windows Services snap-in for Microsoft Management Console (MMC), shown below. To view this snap-in, type services.msc at a command prompt. You need administrator privileges to gain full functionality in the Windows Services console. Running as a standard user, you can only view service settings.

During application migrations, the Windows Services is useful for stopping migrated services so you can exercise the services on the new destination server while tethered, to ensure that all the binaries that comprise the service have been transferred. Services can also be started and stopped inside the <Services> tab of the VirtaMove Admin Console. If you want to view additional configuration information/details for the service, you will need to use the Windows Services or SC Query.

Troubleshooting application migrations using Windows Services

Windows Event Viewer

Event logs are files that record significant events on your computer, such as when a user logs on or when a program encounters an error. Whenever these types of events occur, Windows records the event in a log that you can read by using Event Viewer. Advanced users might find the details in event logs helpful when troubleshooting problems with Windows and other programs.

Depending on the severity of the event, Events are classified as Error, Warning, and Information. An error is a significant problem, such as loss of data. A warning is an event that isn’t necessarily significant, but might indicate a possible future problem. An information event describes the successful operation of a program, driver, or service.

Event Viewer is a tool that displays detailed information about significant events (for example, programs that don’t start as expected or updates that are downloaded automatically) on your computer. Event Viewer can be helpful when troubleshooting problems and errors with Windows and other programs.

Computers that are configured as domain controllers will have additional logs. System events are logged by Windows and Windows system services. Events can also be forwarded to an event log by other computers. Applications and Services logs vary – they include separate logs about the programs that run on your computer, as well as more detailed logs that pertain to specific Windows services.

You must be logged on as an administrator to perform these steps. If you aren’t logged on as an administrator, you can change only settings that apply to your user account, and some event logs might not be accessible.

The Windows Event Viewer is an MMC snap-in that tracks information in several different logs. Windows Logs include:

  • Application (program) events, classified as error, warning, or information
  • Security-related events. These events are called audits and are described as successful.
  • Setup events. Computers that are configured as domain controllers will have additional logs displayed here.
  • System events. These are logged by Windows and Windows system services.
  • Forwarded events. These events are forwarded to this log by other computers.

To open Event Viewer, click the Start button | Control Panel | System and Security | Administrative Tools | then double-click Event Viewer. Next, click an event log in the left pane and double-click an event to view the details.

Windows Component Services

I often use the Windows Component Services because the Windows Event Viewer and Windows Services are built into the same management console view. The real value, however, is the ability to easily examine the COM+ Applications and DCOM Config of the destination server, as well as the [source] server from which you are migrating applications.

After you install the operating system, you must configure the system to enable Component Services administration on your network. You enable administrator control for the System Application. You also configure Component Services to recognize your network by making computers visible to Component Services (Make Computers Visible to Component Services) and enabling component communication across computer boundaries by configuring DCOM (Enable or Disable DCOM). These configuration requirements are crucial to proper administration of Component Services.

Troubleshooting application migrations using Component Services


Depending on the needs of your system, it might be necessary to perform configuration tasks beyond the tasks that have been outlined here. Although you may be able to configure the following properties at a later time, it is important to be aware of them early:

  • The Component Services snap-in requires the Distributed Transaction Coordinator (DTC) service to be running; therefore, you must configure the DTC. For more information, see Manage Distributed Transactions
  • If enhancing system scalability is a goal for you, you can configure Component Services to shut down application processes that are not being used. For more information, see COM+ General Tasks

In a future post, I’ll share tips for Advanced Troubleshooting including: Process Monitor (ProcMon), Process Explorer (ProcExp), Global Assembly Cache (GAC) Tool and Service Control (SC) Utility. Watch this space…