I need to know which thread of an .NET application is going berserk. It consumes almost the complete CPU time.
The problem:
- The application is running on a remote PC
- My only access to the machine is via RDP
- There is no Visual Studio available at the customer’s site
- So I’m not able to connect via Remote Debugging
- However, I would be able to copy some files to the machine and start tools there
My question:
- Is there a possibility to “see” (with standard tools or tools that I can just copy to the machine)
- Which thread is consuming all the CPU time
- What methods are called by this thread?
On “other operation systems” I can create a live call stack or initiate a dump in order to see if some thread is in an endless loop.
Is there such a possibility with Windows 7 & .NET?
Environment:
- Windows 7 (x86)
- .NET 4.0
Best regards and thanks
Seven
Yes, that is possible.
If the process is a x86 process running on a x86 OS or a x64 on a x64 OS, you only need the Process explorer.
If the process is x86 on a x64 OS, it will be a bit more involved. Please comment, if you need this info.