We talked about trace.axd as a debugging solution, but often it's even easier to step through your code as it runs. When doing regular .NET application development, the browser connects directly to the .NET application and allows you to step through the code in real time, watching variables, etc. The problem is, when you're doing portlet development, the browser connects to the portal, and the portal connects to your application. You can't avoid this in most cases because the portal is sending context information to the portlet running your code via HTTP headers. When your code is running this way, Visual Studio won't stop at the breakpoints specified unless you attach the debugger to the .NET process by selecting "Debug: Processes", then choosing the .NET worker process:
Click through for some more tips...

