Using the C# Cluster-SOA Debugger for Windows HPC 2008 R2 (Visual Studio 2010)

 

The topics in this section describe how to use the C# Cluster-SOA Debugger for Windows HPC Server 2008 R2. The debugger is an add-in for Visual Studio 2010.

Important

HPC Server 2008 R2 has the .NET 3.5 framework and the Microsoft Visual C++ 2008 runtime (VC++ 9.0) installed by default. If you are compiling in Visual Studio 2010, we recommend that you select .NET 3.5 when compiling your service for the cluster (the default framework in Visual Studio 2010 is .NET 4.0). For more information, see Visual Studio 2010 and HPC Server 2008 R2.

In this topic:

  • Using the C# Cluster-SOA Debugger

  • Overview

  • Using the local debugging option

  • Known issues

  • Related topics

Using the C# Cluster-SOA Debugger

The following topics describe how to use the C# Cluster-SOA Debugger:

Overview

The Cluster-SOA Debugger helps you debug service-oriented architecture (SOA)-based applications that are running on a Windows HPC 2008 R2 cluster. The Cluster-SOA Debugger is an add-in to the C# project system in Visual Studio 2010. It extends the remote debugger functionality and it simplifies the process of debugging cluster SOA services on a Windows HPC 2008 R2 cluster.

The C# Cluster-SOA Debugger for Visual Studio 2010 supports the following debugging modes:

  • Step into a request in the client code and attach to the remote service process that receives the request

  • Attach to the service processes on all nodes

  • Attach to the service process on selected nodes

  • Debug client and service locally

  • Run the service code locally in a simulated Windows Azure environment

The Cluster-SOA Debugger includes two C# project templates: the Interactive Session Client template (equivalent to the HPC Cluster-SOA Client Template in the debugger for Windows HPC 2008), and the Durable Session Client Template. These templates include the outline of the code that is used to start interactive or durable sessions on a Windows HPC 2008 R2 cluster. Messages that are sent within a Durable Session are persisted on the cluster, enabling file and recollect clients and reliable calculations. For an overview of the HPC 2008 R2 additions to the Microsoft.Hpc.Scheduler.Session APIs, see Service oriented architecture client development.

The C# Cluster-SOA debugger is included in the HPCDebugger_VS2010.msi installer which you can download from the HPC Debugger Add-ons for MPI and Cluster-SOA.

Using the local debugging option

The Cluster-SOA debugger configuration page includes an option to debug locally. During local debugging, the broker runs inside the client process. The advanced local debug options let you run your service in a simulated Windows Azure environment.

Before using the local debugger:

  • If you are not developing on a cluster head node, then you must create and set an environment variable on your development computer that is called %CCP_SERVICEREGISTRATION_PATH%. The variable must specify the path to a local folder that contains the service registration file.

  • If you are using a DurableSession, then you must enable MSMQ on the development computer. For more information, see Installing Message Queuing (MSMQ).

The following screenshot illustrates the SOA debugger configuration options for local debugging and advanced options for Windows Azure simulation.

Configure Cluster-SOA Debugger Visual Studio 2010

Known issues

Issue: When you select the Step into a request debugging mode, you might see the following error from Visual Studio 2010:

Unable to automatically step into the server. Connecting to the server machine ‘<server_name>’ failed. The Microsoft Visual studio Remote Debugging Monitor (MSVSMON.EXE) does not appear to be running on the remote computer. Please see Help for assistance.

Cause: This error occurs when you press F11, but the built-in WCF debugging ‘step-into’ mode fails.

Resolution: This error message does not reflect the state of the Cluster-SOA debugger, so you can ignore this message for cluster-SOA debugging.

To avoid seeing the error message, you can disable the built-in WCF debugging by using vsdiag_regwcf.exe command line utility (use –u to uninstall, -i to install). For example, you can run the following command in an elevated command prompt window:

%Microsoft Visual Studio 10.0%\Common7\IDE\vsdiag_regwcf.exe -u

Issue: When using the local debugging option with durable session, you might encounter the following BrokeQueueException:

Create a broker with an existing broker queue is not allowed.

Resolution: Clean up the HPC related queues in MSMQ.