ertank 27 Posted February 12, 2019 Hello, There is a Win32 application used on a client. They face problem of "application freezing" randomly. Same binary is used in more than a single machine and this is the only machine having problems. That was not my decision, but customer could do it and they formatted the complete system, install Windows from scratch. That did not help. Since it is random (sometimes days of smooth running), I think remote debugging is not very useful here. Or, is it the only option? I would like to at least get a call stack when that freezing happens (they kill the application using task manager when that happens). Any help is appreciated. Thanks & regards, Ertan Share this post Link to post
ŁukaszDe 38 Posted February 12, 2019 You can give client special version for example with MadExcept. Share this post Link to post
Cristian Peța 103 Posted February 12, 2019 madExcept does have a "check for frozen main thread" option. You can set the timeout in seconds. You will have a call stack. Share this post Link to post
Anders Melander 1784 Posted February 12, 2019 MadExcept: Main thread freeze checking http://help.madshi.net/HowToUseMadExcept.htm Share this post Link to post
ByteJuggler 45 Posted February 12, 2019 (edited) My first suggestion would also be madExcept. Aside from that, in the task manager (on Win10) you have two options that might help: "Analyze Wait chain" and "Create dump file". The latter will dump the application image. The image may be inspected with e.g. WinDbg. Here's a bunch of tutorials: https://marc.durdin.net/2015/11/windbg-and-delphi-a-collection-of-posts/ And though it's .Net based and a little old this seems interesting: http://alookonthecode.blogspot.com/2012/02/windbg-101a-step-by-step-guide-to.html And this: http://capnbry.net/blog/?p=18 Edited February 12, 2019 by ByteJuggler Share this post Link to post
Allen@Grijjy 44 Posted February 12, 2019 (edited) Based upon your statement that it's the same binary but it only freezes on one machine would make me focus on a hardware issue first. Perhaps bad RAM, overheating CPU, etc. Back in the day there were hundreds of thousands of PCs with faulty capacitors from most major manufacturers and over time the capacitors failed. The result for our Delphi app was it crashed and became unstable on those machines. It took us quite some time to figure out this cause. Edited February 12, 2019 by Allen@Grijjy Share this post Link to post
Davide Visconti 5 Posted February 13, 2019 (edited) Hello @ertank is it possible that on that machine are presents different parameters or configuration files that may cause the problem? How many times the problem appear? Becasue, in my experience, if the problem is on the RAM module you should get a lot of problems... and not only on your application. Anyway, get any linux distro and test the RAM or get this one (https://www.memtest86.com/) Edited February 13, 2019 by Davide Visconti Share this post Link to post