My goal is to profile my C++ application (Visual Studio 2005) - I want the following cababilities:
1) Memory debugging (pinpoints hard to find memory errors such as uninitialized memory access, buffer overflow and improper freeing of memory)
2) Memory leak detection (identifies memory blocks that no longer have a valid pointer)
3) Performance profiling: (highlights application performance bottlenecks and improves application understanding with a graphical representation of function calls)
4) Code coverage (identifies untested code with line-level precision).
I know that PurifyPlus for example is doing it - but the problem is that my application is not a single process but it has some nanny architecture which I'm going to describe:
My C++ application (I have a debug build) is built from several processes (.exe files). When the application is up, a service is installed and it lifts up 3 processes (there is an option to invoke first a process instead of the service). One of the tree (let's call it process A) is the nanny of another process (let's call it process B) which by itself is the nanny of another process (let's call it process C) which by itself is the nanny of another process (let's call it process D).
Suppose I want to analyze process C (or any process in this architecture) - What is the most appropriate tool for my needs? Can PurifyPlus help me?
Thanks a lot!