在 Delphi 2007 中丢失了一些调试功能
Posted
技术标签:
【中文标题】在 Delphi 2007 中丢失了一些调试功能【英文标题】:Lost some debug functionality in Delphi 2007 【发布时间】:2014-11-23 21:58:05 【问题描述】:最近我在 Delphi 2007 中失去了一些调试功能。
具体来说,监视列表窗口完全禁用,除了一个 Watch List 的一些弹出菜单项。唯一的菜单项 启用是 添加组... 显示列标题 留在上面 可停靠
ide中的情况和程序运行或不运行的情况
断点的工作方式与断点处的工具提示表达式一样。
在工具中 |选项、代码完成、错误洞察、块完成和 代码模板完成未选中,所有其他选项均已选中。
在工具中 | Options, Debugger Options 设置为 Integrated Debugging 和 自动隐式关闭文件...'已选中,其他所有未选中。
在项目中 |选项(编译器),优化未选中所有调试 除“仅定义”外检查的部分项目
条件定义是 DEBUG;madExcept
当断点被命中时,监视列表窗口显示“正在评估...” 每个手表名称。顺便说一句,手表名称是前一段时间输入的,当时所有 调试功能正常工作。
在断点(停止)尝试调试一段时间后, 工具栏上的运行按钮被禁用,我必须单击“运行 |程序 菜单上的“重置”,此时 madExcept 从 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
谁能帮我解决这个问题?这突然开始 一个月前,而不是根据我的任何新组件安装 知道。
【问题讨论】:
我建议完全重新安装,这可能是最“快速”的解决方案... 只是这个特定的项目导致调试器启动,还是一个全新的项目也会发生这种情况? @Copilot:对我来说似乎很激烈。您对“我的车的挡风玻璃刮水器留下条纹。我该怎么办”的建议是什么?买新车?或者“我的手指上有一个小伤口,一直在流血。我该怎么办?”截肢? 【参考方案1】:我在 BDS2006 中遇到了同样的问题。我找到了一个对我有用的非常简单的解决方案。打开您的项目桌面文件 (.dsk)。转到手表部分。我刚刚删除了一些不需要的手表(不要忘记调整计数),再次启动 Delphi,我的手表和菜单项都已启用。
【讨论】:
以上是关于在 Delphi 2007 中丢失了一些调试功能的主要内容,如果未能解决你的问题,请参考以下文章