Link to home
Start Free TrialLog in
Avatar of mohet01
mohet01Flag for India

asked on

Debugging multi threaded application

Hello
We have a project developed in Visual Studio 2003.
This is mutli threaded.
Can i debug this in Visual studio 2003?
Basic idea is to understsnd the application as we have already some knowledge on that applciation
Sham
SOLUTION
Avatar of Zoppo
Zoppo
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of mohet01

ASKER

If i see such links:
they are only talking about VS 2010 and VS 2008 but not VS 2003
http://msdn.microsoft.com/en-us/library/ms164746.aspx
I would be more happy, if VS 2003 does this, Because our project is developed in VS2003
So, No extra effort of porting the project from VS 2003 to VS 2008/2010
Sham
Well, sorry, I cannot really say if/how this is possible in VisualStudio 2003 since I don't have it.

But, beside this I would like to tell you that IMO it's worthwhile to port projects to more recent VisualStudio versions since a.) newer VisualStudio versions offer more and improved functionalities and b.) the larger the version difference between your project and a current VisualStudio becomes the more difficult the porting is.

About a.) some important improvements in VS 2010 are at least better STL (more standard conform so more fail safe), support of new C++ standard TR1, new MFC GUI elements, debugging performance in some cases increased, new buildsystem, a.s.o.

ZOPPO
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of mohet01

ASKER

Hello pma
1) Ok. You mean i can watch multiple threads in multiple views?
2) Shall i proceed with VS 2003? Because i need to make a machine setup for all these.
3) This is an existing app, But i would love knowing more on this point of using QT rather than MFC
BTW, i do no know what MFC is ):
QT,  i think is a QT designer which is also see on Linux dist

Sham
Avatar of pmasotta
pmasotta

1) you can stop on code that belongs to different threads, those threads can be coded on a single or different source files...
2)I should go with the express version of 2008 or 2010, 2010 could be better, I still use 2008...
3) probably on an erly learning stage you won't be exposed to MFC (Microsoft Foundation Clases)
It is a huge library on top of C++ trying to "help you" coding windows apps. I just commented on this 'cause the other expert mentioned. just keep in mind if you have to chose try to avoid MFC, QT instead is a well done library... QT is multiplatform, MS/Linux/Mac
Avatar of mohet01

ASKER

Ok
Considering 3 points, I will go for VS 2010
I have already downloaded
en_visual_studio_2010_professional_x86_dvd_509727.iso
I will install this on Windows 2003 box
and then get back to you, How to debug multithread, if am unable to


Sham

ok you know this is not the free version right?
en_visual_studio_2010_professional_x86_dvd_509727.iso
you you got it from MS it will ask for a key or install as demo...

if you want the free version download the EXPRESS version it's very light and free, of course is not as complete as the professional version.....
Avatar of mohet01

ASKER

i downloaded from MS as my boss has  msdn subscription
But i have no idea about key
ok then no problem.
Avatar of mohet01

ASKER

No problem mean, i dont require key.

no if you downloaded from MSDN (as far as I know) those versions don't need key
but you better check that out with your boss or the MSDN suscriber at your company...
Avatar of mohet01

ASKER

ok let me make the machine setup and get back regarding multi thread debugging
Avatar of mohet01

ASKER

Hello pma
Our project is built on win2003 using VS 2003

Now am taking VS 2010 on win2003 machine for debugging multithread

So, Do you think win2008+VS 2010 has more advantage than win2003+VS2010?

Sham

not really but win2003 is a bit old, if this is just a learning thing I'd not care much but if the preoject migh get extended in time I'd try to start with win2008
Avatar of mohet01

ASKER

Hello pma
During installation of VS 2010, it says that, following is being installed:
-VS 9.0 Runtime
-VS 10.0 Runtime
-Microsoft .NET Framework 4
-Microsoft Visual Studio 2010 Professional

Can you just let me know, what does each component mean?

Sham
Runtimes.
(from Microsoft)
The Microsoft Visual C++ 2010 runtime components of Visual C++ are Libraries (DLLs) required to run applications developed with Visual C++ on a computer that does not have Visual C++ 2010 installed.  The components of C Runtime (CRT): Standard C++, ATL, MFC, OpenMP and MSDIA libraries.

.NET
installs the .NET Framework requiered to build and run .NET apps
take a look about .NET here
http://en.wikipedia.org/wiki/.NET_Framework

-Microsoft Visual Studio 2010 Professional
the compiler and  building tools
Avatar of mohet01

ASKER

Hey
We are still working on it
Sham
I have Visual C++ 2008 and Visual C++ 6, and both can debug mult-threaded applications perfectly.  I prefer to use Visual C++ 6.  The IDE is lighter, the compiler is faster, and the setup is simpler.  I haven't found any actual advantages with newer versions of Visual C++, and they are usually slower and come with a big set of dependencies (as you have found).  The debugging and code editing functionality does not improve between versions.
> I haven't found any actual advantages with newer versions of Visual C++
@satsumo: I don't agree, I think there are several improvements:
- VS 2008 supports 64-bit platforms and .NET with several languages
- The compiler can use newer CPU instructions thus creating better code.
- The compiler got nearer to C++ standards, STL was improved.
- The build system compiles multi-threaded so it can build much faster on multi-core systems.
- IMO IntelliSence is better and faster.
- Debugging has been improved too, i.e. the quick-watching of a variable's members via tooltip (which I think is very helpful) or the possibility to let breakpoints print out a message like 'calling function' (even very, very helpful).
- The IDE is in some cases slower, that's right, but it's even improved, i.e. there's XML editor, not the best one, ok, but it's integrated and even supports validation with XSD.

These are only some points which I think are important - of course it is not such a light IDE as VC++ 6.0, but I know if you (even after lets say 5 years of working with VC++ 6) work half a year with VS 2008 you wouldn't like to go back.

I would suggest to use VS 2010 which in some of the above mentioned points was improved again since VS 2008.

One thing to take care with this decision is that the effort to port projects from VC++6 to any newer version is probably much harder than porting it from VS 2008 because there aren't so many changes.

ZOPPO
Thanks is not a reason to award no points.  If the answers were not accurate the asker should say so.  Given the long discussion in this question I think it should be a split, 400 to pmasotta http:#a36221182, and 100 to Zoppo http:#a36220771.
Avatar of mohet01

ASKER

my goodness,
i want to select pmasotta for awarding this point
Moderator please do the necessary
Avatar of mohet01

ASKER

Hello  moderator
please accept  ID: 36221285
and award points to pmasotta
If you re-open this, I can do the necessary
Sham