Path: csiph.com!x330-a1.tempe.blueboxinc.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!nntp.earthlink.com!news.earthlink.com.POSTED!not-for-mail NNTP-Posting-Date: Sun, 17 Apr 2011 11:44:57 -0500 Date: Sun, 17 Apr 2011 09:45:00 -0700 From: Patricia Shanahan User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 Newsgroups: comp.lang.java.programmer,comp.lang.c++ Subject: Re: What's the deal with deadlocks References: <23020668-d86c-489a-988b-7b379f34851c@j13g2000pro.googlegroups.com> In-Reply-To: <23020668-d86c-489a-988b-7b379f34851c@j13g2000pro.googlegroups.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Lines: 18 X-Usenet-Provider: http://www.giganews.com NNTP-Posting-Host: 75.8.126.96 X-Trace: sv3-LLdnNAaNKI9mg0ELy73EVXBAK5wlPo51L135Mg1bGWloI/6anY+KEfBe6+0M6Y7Gj5erL/ykhR15err!uXG59lSGDv3McuA2pDQW1Xie2jnLkN7EwjNhU+H3j0xJD6NAMEFwPE90QE5tI6YDWVwuMlFzhvZ+!7f2HidAkSB5wNUfgfW4N6iWukhSQNtAvTo/R/B8YUFE= X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 2088 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:3088 comp.lang.c++:3868 On 4/17/2011 9:15 AM, Joe Snodgrass wrote: > > The general concept is simple enough, but it seems to me that you'll > need special tools to diagnose this specific problem. How do you get > the debugger to look inside threads, see that they're hung, and find > out where the problem is happening? Do the debuggers have some > features that I haven't heard of? TIA. The really difficult part is not debugging a deadlocked program. For example, the Eclipse debugger shows the current state of each thread if you just pause the program. The deeper problem is avoiding deadlocks by design. You cannot make a reliable program by depending on debugging those deadlocks that show during test, because test can never accumulate as much time and different combinations of circumstances as will happen during use. Patricia