How to debug multiple ASP.Net at one time

How to debug multiple ASP.Net at one time

Post by ICE » Tue, 02 Dec 2003 22:13:07


I have this scenario: many users log on the same server as
the same user and then execute VS.Net to create ASP.Net
applications using VB.Net. Whenever one of then starts an
application in debug mode from the IDE everyone else gets
this message when trying to debug:
"Error while trying to run project: Unable to start
debugging on the server. A de *** is already attached."
etc.
My question is: is there a way to allow multiple users to
simultaneously debug?
Besides, whenever there's someone debugging even just
browse an aspx page get affected (the response is stuck
until whoever is debugging ends it or press F10/11). So
that is even not possible to just run without debugging
and check the page under development.

Thanks in advance for any help.
ICE
 
 
 

How to debug multiple ASP.Net at one time

Post by gregg » Wed, 03 Dec 2003 06:02:57

To some degree, this is a design limitation of ASP.NET. Here are the
possible work arounds:
1. If you are using Windows Server 2003, you can setup a unique application
pool for each user.
2. Give each user their own web server. Visual Studio does not need to run
on this web server, you only need to install the remote debugging
components.
3. You can use 'web matrix'
( http://www.yqcomputer.com/ )
4. I haven't tried this, but you could probably run the web matrix web
server under the de *** . You would open the web matrix executable as a
project (File->Open->Project), and start IE outside of the de *** .

The next version of Visual Studio will have a better solution. See
http://www.yqcomputer.com/

Gregg

--------------------

 
 
 

How to debug multiple ASP.Net at one time

Post by ICE » Wed, 03 Dec 2003 19:08:43

Thanks!

I'll try to test work around 1.
But I have some question about the other suggestions: as
for work around 2: Is it possible using IIS 5.0 to have on
the same server computer more IIS running? I mean: more
than one IIS service or, alternatively, more sites that
are totally isolated (like different dllhost.exe and many
aspnet_wp.exe like one per user developping/debugging).
As for work around 3/4: Is it possible to use the web
matrix web server from VS.Net and use that one to debug?
Web matrix is a very good tool for developpers coming from
ASP 3.0, but it lacks usability and debug integrations for
users coming from VisualBasic. Besides, I'm wondering:
what's the best strategy if we need to debug a production
site? If using the debug process freezes everything that
means the site would be largely un-availlable. Is that
correct?

This is a bit out of the topic, but in case yoyu can give
me some hint...

As for the Whidbey Visual Studio I read here and there
from the link you provider and I find it interesting but I
haven't find any reference on estending support for other
databases other than SQL Server. We are currently using
Oracle 8i and realized that Oracle 9i client components
are not supported neither in VS 2002 nor 2003. I know
there's a specific namespace to use oracle, but we would
like to keep the interface based on ADO.Net standard
namespaces. Is there any plan to support new releases of
other DBMS client components? And referring to Cache
Invalidations (Whidbey) I read it's customizable through
plug-ins, but it would be interesting if those plug-ins
would be availlable for the other DBMS between the most
used ones.

Thanks in advance for any hint

ICE
 
 
 

How to debug multiple ASP.Net at one time

Post by gregg » Thu, 04 Dec 2003 06:04:34

or work around #2 -> I don't think that IIS 5 supports this, but I am not
an IIS expect, so this could be wrong. For a definitive answer, you might
want to try an ASP.NET or IIS forum. I know that you can get ASP.NET to run
in-process to IIS by configuring the worker processes identity inside of
machine.config. That could be useful if you can configure multiple websites
to target different dllhosts.

For work around #3 -> That's web matrix. In Whidbey, Visual Studio will
have a decent solution for you.

For work around #4 -> As I said, I *think* you should be able to launch the
web matrix web server under the VS debugger. You would configure your
project to 'launch an external program'.

For production server debugging, no matter what you are going to need to
freeze your web server process for at least a small amount of time. Any
solution that doesn't involve freezing your web server means that your
debugging tools aren't really debugging your problem. This is probably not
desirable because if the problem was simple, you would have found it on
your test server, and wouldn't need to do production server debugging. A
few solutions to production server debugging:
1. Easy and obvious: Try and duplicate the problem on your test server,
where you can safely debug it
2. Painful: Take your production server offline and debug the problem
3. Difficult: Attach a native debugger to the web server, and when you hit
the crash/hang, then save a minidump with heap. Then you can take this dump
back to your office, and look at it with sos.dll. This is a fairly 'hard
core' debugging experience. I believe the Visual Studio.NET 2003
documentation includes some information on sos. See bellow for more
information.

More information on production server debugging:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/
DBGrm.asp

For your last question, you are going to need to try a different newsgroup.
This is outside of my area of knowledge.

Hope this was useful,
Gregg

--------------------