Hi all.
I'm having a dead-end situation with one of the clients using my software. Out of about 40 copies of our product sold (Application programmed in .NET 2.0 using VB.NET 2005), about 2 get non-responsive with 1 core of the dual core CPUs stuck at 100% (program uses 1 core only)
The most logical guess is an infinite loop causing this behavior, but the are thousands of lines of code with many, many loops. That is all the information I've got; now, how do you suggest I approach debugging this problem?
EDIT: Basically, the software is responsible for calculating amount of credit spent using other devices, such as PCs, etc. It is a Cybercafe management program and fails intermittently i.e. it is subtracting credit when is fails. It does other things in the background too, like checking to see if it is time to create a database backup, among other things.
EDIT: Solved. It was the most unlikely problem. The Access Database Engine which I used as the DBMS is actually the part of my application that is problematic. It has difficulty working with a row-JUST ONE FRIGGIN ROW-in one of the tables. I can't delete it, or otherwise add a record related to that row in any other table; Even MS Access 2007 causes the CPU to go up to 100% when I try to work with that row!
A simple "Compact and Repair" command fixed everything. I guess I'll issue that command every time my application starts up. That would prevent this from happening again.
Thanks to WinDbg I could find where the problem was. I recommend everyone to learn how to use it 'cause it's a real time saver.