Stepping Into an XML Web Service
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
This topic applies to:
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro and Team |
Table legend:
Applies |
|
Does not apply |
|
Command or commands hidden by default. |
When a managed client calls a managed XML Web service, the Visual Studio debugger automatically follows the call from the client to the Web service. You can step into a Web service as if you were stepping into an ordinary function call, provided both the client and the Web service are written in managed code. Stepping can occur across threads, processes, and computers.
When you step into a Web service call, the debugger automatically attaches to the ASP.NET worker process, which is aspnet_wp.exe or w3wp.exe. For more information, see ASP.NET Debugging: System Requirements. The ASP.NET worker process can be on the local computer or on a remote computer.
Note
To attach to ASP.NET worker process, you must be an Administrator on the computer where the process is running.
If you want to debug both managed and native code, both types of debugging must be enabled in your project. You can enable native debugging by selecting the Enable Native Debugging option in the <Project> Property Pages dialog box.
When the execution breaks in a Web service, you can view a merged call stack that contains calls from both the client and the Web service. If a call occurs between threads, you must enable a display option to see that information.
To display calls between threads
Right-click the Call Stack window.
Click Include Calls To/From Other Threads.
When step into the Web service, you can use all the ordinary execution commands such as Step and Continue. At the end of the Web service call, you back out to the client code that called the Web service.
When you step out of a Web service, the debugger remains attached to the ASP.NET worker process. The debugger does not detach from the ASP.NET worker process until you end the debugging session or you manually detach the process by selecting Detach All on the Debug menu.