C# Debugging Alternatives

P

phreaker

Hi,

I'm interested in the alternatives to debugging C# other than Visual
Studio .NET


I have a large multi-threaded application, and I find that the
debugger that comes with Visual Studio .NET is not powerfu enough. Can
anyone direct me to different debuggers that would be better,
especially since the application is threaded?


TIA
 
P

Peter Duniho

I have a large multi-threaded application, and I find that the
debugger that comes with Visual Studio .NET is not powerfu enough. Can
anyone direct me to different debuggers that would be better,
especially since the application is threaded?

Visual Studio debugs multiple threads just fine. Other than its inability
to debug into kernel code, the VS debugger is one of the most, if not the
most, capable debuggers around.

If it's not suitable to your needs, you should be more specific about what
"not powerful enough" means.

Pete
 
C

Chris Mullins [MVP]

phreaker said:
I have a large multi-threaded application, and I find that the
debugger that comes with Visual Studio .NET is not powerfu enough. Can
anyone direct me to different debuggers that would be better,
especially since the application is threaded?

What features are you looking for that VS.Net doesn't provide?

I've been building very large, very heavily threaded applications for a
number of years now. In 99%+ of debugging cases, Visual Studio has been
sufficent for debugging.

If you're having alot of problems with race conditions, it's probably not
the debugger that's holding you back, but something else.

There are the usual things to try:
- Make sure all your threads have names that make sense. This makes using
the Threads Window alot easier.
- Leverage "Freeze" & "Thaw" alot.

Really validate your locking. If you're having race conditions, your locks
are probably specified at the wrong levels, or have the wrong scope.
 
P

phreaker

Thanks, I looked into that, and it seems quite useful.

I think maybe what I'm looking more for is a profiler. I looked into
DevPartner Studio, and it looks quite complete. Anyone have any
opinions on how effective this software package is?

I mainly will be using this for determining which threads are taking
up which resources, and hopefully determine (with the help of the
software package) where in the code I should be optimizing.


Thanks,
David
 
P

Peter Duniho

[...]
I mainly will be using this for determining which threads are taking
up which resources, and hopefully determine (with the help of the
software package) where in the code I should be optimizing.

A good profiler is worth it's weight in gold, no doubt.

But don't discount the usefulness of just sticking in some timing code
where you are suspicious of execution time. The Stopwatch class makes
this very easy, and you can get some easy, applicable data this way,
without all the complexity of a profiler (and without having to figure out
which one you like best :) ).

Pete
 
C

Chris Dunaway

Thanks, I looked into that, and it seems quite useful.

I think maybe what I'm looking more for is a profiler. I looked into
DevPartner Studio, and it looks quite complete. Anyone have any
opinions on how effective this software package is?

I mainly will be using this for determining which threads are taking
up which resources, and hopefully determine (with the help of the
software package) where in the code I should be optimizing.

Thanks,
David

Another profiler that I recently got an ad for is the Ant Profiler
from Red-Gate. I think they have a trial version you can download.

Chris
 
O

OD

I think maybe what I'm looking more for is a profiler.

VS profiler is very good. I used it a few times and returned info were
good enough to locate time and resource consuming parts of the
applications.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top