Search code examples
delphidelphi-2007

Lost some debug functionality in Delphi 2007


Recently I have lost some of my debug functionality in Delphi 2007.

Specifically, the Watch List Window is completely disable as are all but a few of the Watch List's popup menu items. The only menu items that are enabled are Add Group... Show Column Headers Stay on Top Dockable

This is the case in the ide and the program running or not running

Breakpoints work as does tooltip expressions at breakpoint.

In Tools | Options , Code completion, Error Insight, Block Completion and Code Template Completion are unchecked, all other options are checked.

In Tools | Options, Debugger Options are set Integrated Debugging and Automatically close files implicitly...' checked , all others unchecked.

In Project | Options (Compiler), Optimization unchecked All Debugging section items checked with exception of 'definitions only'

Conditional Defines are DEBUG;madExcept

When a breakpoint is hit, the Watch List windows shows 'Evaluating...' for each Watch Name. BTW, the watch names were entered some time ago when all debugging features were working.

After a period of attempted debugging while at a breakpoint (stopped), the Run button on toolbar becomes disabled and I have to click 'Run | Program Reset' on the menu at which time madExcept throws the following exception from the IDE:

date/time         : 2014-09-28, 09:08:17, 855ms
computer name     : JOHNTAYLOR-LAP
user name         : JT <admin>
registered owner  : Microsoft / Microsoft
operating system  : Windows 7 x64 build 7600
system language   : English
system up time    : 10 days 22 hours
program up time   : 3 days
processors        : 8x Intel(R) Core(TM) i7 CPU Q 840 @ 1.87GHz
physical memory   : 7944/16308 MB (free/total)
free disk space   : (C:) 83.99 GB
display mode      : 1024x768, 32 bit
process id        : $2994
allocated memory  : 354.77 MB
command line      : "C:\CodeGear RAD Studio\CodeGear\RAD Studio\5.0\bin\bds.exe" -np
executable        : bds.exe
current module    : madExcept_.bpl
exec. date/time   : 2007-12-11 15:04
version           : 11.0.2902.10471
compiled with     : Delphi 2006/07
madExcept version : 4.0.6
callstack crc     : $f8d6ff12, $83616f26, $cd9b05a3
exception number  : 1
exception class   : EListError
exception message : List index out of bounds (0).

main thread ($325c):
20032558 +03c rtl100.bpl         Classes        3525   +3 TInterfaceList.Put
2087a8f4 +008 dbkdebugide100.bpl Debug          6414   +1 TThread.RemoveNotifier
20aa3b13 +043 coreide100.bpl     WatchWin       1543   +1 TWatchWindow.EvaluteComplete
20878cf9 +0fd dbkdebugide100.bpl Debug          5564  +12 TThread.EvalComplete
20877660 +02c dbkdebugide100.bpl Debug          4871   +2 TDbkApiEvent.Send
208784c8 +024 dbkdebugide100.bpl Debug          5300   +2 TDebugKernel.apiComplete
2013a81a +012 vcl100.bpl         Controls       4039   +1 TControl.ScreenToClient
209b6b21 +065 coreide100.bpl     EditorControl  6744   +3 TCustomEditControl.WMNCHitTest
7759e74d +078 ntdll.dll                                   RtlAnsiStringToUnicodeString
76977b0a +016 USER32.dll                                  CallWindowProcA
20885499 +039 dbkdebugide100.bpl Debug         11455   +3 TDebugger.DBKWndProc
20040e4c +014 rtl100.bpl         Classes       11583   +8 StdWndProc
7696810d +00a USER32.dll                                  DispatchMessageA

Can anyone help me get this straightened out ? This started suddenly about a month ago and not pursuant to any new component installation that I am aware of.


Solution

  • I had the same problem in BDS2006. And I found a very simple solution that worked for me. Open your project desktop-file (.dsk). Go to the watches section. I just removed some unwanted watches (don't forget to adjust the count), started Delphi again and my watches and menu-items were enabled.