将ActiveX服务器(对于MS Word)从Delphi 7升级到Delphi 2010后,断点不再停止

时间:2015-01-06 09:37:49

标签: delphi delphi-xe4

我有一个使用Addin Express VCL开发的Word插件( ActiveX 服务器( DLL )),在将整个项目从D7升级到XE4后,我发现断点不再稳定 - 有时断点会停止,但大多数时候它们不会。

我已尝试过其他问题中的所有解决方案(如此搜索查询的Google搜索结果的第一页和第2页所示:delphi breakpoint does not work site:stackoverflow.com),但这些问题都没有奏效。有帮助吗?感谢。

更新1:我尝试过的事情:

  • 确保构建配置为' debug';
  • 重建整个项目;
  • '调试信息'项目选项已启用;
  • '本地符号'项目选项已启用;
  • Linking->调试信息已启用;
  • '远程调试'已启用';

更新2:非常奇怪,启用后'使用调试dcus',重建,再次禁用它,重建,现在我收到以下错误。 IE,断点第一次工作,然后在CPU窗口有一些意外停止,终止MS Word(主机),并尝试开始调试将导致以下错误,并且必须启动IDE。 但是当没有处于调试模式时没有问题

---------------------------
Error
---------------------------
Assertion failure: "!"could not initialize evaluator""
in ..\win32src\eval32.cpp at line 1231

---------------------------
OK   Details <<   
---------------------------
[2039534C]{dbkdebugide180.bpl} Debug.TDebugKernel.msgBox (Line 5931, "Debug.pas" + 30) + $0
[2E027FA9]{bordbk180.dll} Unknown function at @isDbkLoggingOn$qv + $E0D1
[0DBAA4CC]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $2F654
[0DB7C6BF]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $1847
[080A4124]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\CODEGEN.OBJ.FlushConst + $2170
[080A4D26]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\CODEGEN.OBJ.FlushConst + $2D72
[0067FA5D]{bds.exe     } bds.bds (Line 204, "" + 8) + $19C49E
[080A4D26]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\CODEGEN.OBJ.FlushConst + $2D72
[080B164A]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\CODEGEN.OBJ.GenPackageBody + $116
[080AF6D3]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\CODEGEN.OBJ.FlushConst + $D71F
[07F9130B]{dcc32180.dll} C:\BUILDS\TP\LIB\WIN32\DEBUG\C0D32W.OBJ.___System__GetTls + $11
[080B1AD4]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\CODEGEN.OBJ.GenIntfAdjustor + $398
[080A4124]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\CODEGEN.OBJ.FlushConst + $2170
[07FA4413]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\BROWCMGR.OBJ.DumpSymtabUnitListLast + $BF
[080A3616]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\CODEGEN.OBJ.FlushConst + $1662
[080A1C03]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\CODEGEN.OBJ.ReserveConstructorFrameSlots + $140B
[0808D5A1]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\LNK2DISK.OBJ.LocateLocalSymbols + $97D
[07FA8BBA]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\BROWCMGR.OBJ.SetCompState + $FA
[07FA87E1]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\BROWCMGR.OBJ.ClosePackageFilesDLL + $11D
[07FA8809]{dcc32180.dll} C:\BUILDS\TP\INTERMEDIATE\DEBUG\LIB\DCC32\BROWCMGR.OBJ.ClosePackageFilesDLL + $145
[0DB90C9F]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $15E27
[57008381]{madBasic_.bpl} Madstrings.WideToAnsiEx + $2D
[570114D4]{madBasic_.bpl} Madtools.FindModule + $C8
[57011500]{madBasic_.bpl} Madtools.FindModule + $F4
[5005FA84]{rtl180.bpl  } System.TMonitor.TryEnter (Line 17109, "System.pas" + 10) + $0
[5005F618]{rtl180.bpl  } System.TMonitor.Enter (Line 16808, "System.pas" + 4) + $2
[5005F7EB]{rtl180.bpl  } System.TMonitor.Exit (Line 16933, "System.pas" + 2) + $7
[0DBB1FCA]{bordbk180N.dll} Unknown function at POSTEDHOOKPROC + $1246
[0DBB4EBB]{bordbk180N.dll} Unknown function at POSTEDHOOKPROC + $4137
[0DBA3ED7]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $2905F
[0DBA3EE8]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $29070
[5981E15C]{madExcept_.bpl} Madexcept.IsTrueUnicodeString + $4BC
[5981E181]{madExcept_.bpl} Madexcept.IsTrueUnicodeString + $4E1
[5985A581]{madExcept_.bpl} Madexcept.UnpatchAPI + $801
[0DB90751]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $158D9
[5985A596]{madExcept_.bpl} Madexcept.UnpatchAPI + $816
[0DB90751]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $158D9
[0DB844DD]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $9665
[0DBAFB9D]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $34D25
[0DBADDE3]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $32F6B
[0DBADF23]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $330AB
[0DBA5D9E]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $2AF26
[0DBB4F27]{bordbk180N.dll} Unknown function at POSTEDHOOKPROC + $41A3
(000083C9){bordbk180N.dll} [0DB793C9]
[0DB7C032]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $11BA
[0DB9B760]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $208E8
[504575B5]{vcl180.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10039, "Vcl.Controls.pas" + 153) + $6
[0DBB167F]{bordbk180N.dll} Unknown function at POSTEDHOOKPROC + $8FB
[0DB9ADAC]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $1FF34
(00007EE1){bordbk180N.dll} [0DB78EE1]
[21101D7A]{designide180.bpl} DeskUtil.SetFocusHook (Line 463, "DeskUtil.pas" + 4) + $C
[218A45BB]{vclactnband180.bpl} Vcl.ActnMenus.CallWindowHook (Line 748, "Vcl.ActnMenus.pas" + 20) + $F
[0DB9C588]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $21710
[0DB9C56F]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $216F7
[0DB88656]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $D7DE
[0DB9C588]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $21710
[0DB7ED8A]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $3F12
[0DB9BC13]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $20D9B
[0DB9BEAD]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $21035
[0DB9D749]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $228D1
[0DBBF4DB]{bordbk180N.dll} Unknown function at POSTEDHOOKPROC + $E757
[0DBB1FCA]{bordbk180N.dll} Unknown function at POSTEDHOOKPROC + $1246
[0DBB2924]{bordbk180N.dll} Unknown function at POSTEDHOOKPROC + $1BA0
[0DBB2753]{bordbk180N.dll} Unknown function at POSTEDHOOKPROC + $19CF
[0DB7E60C]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $3794
[0DB7E634]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $37BC
[0DB88DDF]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $DF67
[0DB9C6C0]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $21848
[0DBA10D2]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $2625A
[0DB9CF1C]{bordbk180N.dll} Unknown function at @isDbkLoggingOn$qv + $220A4
[5016EDDD]{rtl180.bpl  } System.Classes.TComponent.UpdateAction (Line 16030, "System.Classes.pas" + 1) + $A
[5057C69F]{vcl180.bpl  } Vcl.Forms.ProcessUpdate (Line 7244, "Vcl.Forms.pas" + 1) + $11
[5005EE12]{rtl180.bpl  } System.@IsClass (Line 15664, "System.pas" + 1) + $8
[5057C708]{vcl180.bpl  } Vcl.Forms.TraverseClients3 (Line 7261, "Vcl.Forms.pas" + 5) + $1E
[5016EDDD]{rtl180.bpl  } System.Classes.TComponent.UpdateAction (Line 16030, "System.Classes.pas" + 1) + $A
[5057C69F]{vcl180.bpl  } Vcl.Forms.ProcessUpdate (Line 7244, "Vcl.Forms.pas" + 1) + $11
[5005EE12]{rtl180.bpl  } System.@IsClass (Line 15664, "System.pas" + 1) + $8
[5057C713]{vcl180.bpl  } Vcl.Forms.TraverseClients3 (Line 7261, "Vcl.Forms.pas" + 5) + $29
[5057C722]{vcl180.bpl  } Vcl.Forms.TraverseClients3 (Line 7261, "Vcl.Forms.pas" + 5) + $38
[5016EDDD]{rtl180.bpl  } System.Classes.TComponent.UpdateAction (Line 16030, "System.Classes.pas" + 1) + $A
[50455D4A]{vcl180.bpl  } Vcl.Controls.TWinControl.GetControl (Line 9131, "Vcl.Controls.pas" + 4) + $A
[5005EE12]{rtl180.bpl  } System.@IsClass (Line 15664, "System.pas" + 1) + $8
[5016EDDD]{rtl180.bpl  } System.Classes.TComponent.UpdateAction (Line 16030, "System.Classes.pas" + 1) + $A
[5057C69F]{vcl180.bpl  } Vcl.Forms.ProcessUpdate (Line 7244, "Vcl.Forms.pas" + 1) + $11
[5005EE12]{rtl180.bpl  } System.@IsClass (Line 15664, "System.pas" + 1) + $8
[5057C708]{vcl180.bpl  } Vcl.Forms.TraverseClients3 (Line 7261, "Vcl.Forms.pas" + 5) + $1E
[5057C722]{vcl180.bpl  } Vcl.Forms.TraverseClients3 (Line 7261, "Vcl.Forms.pas" + 5) + $38
(00037999){CnWizards_DXE4.dll} [0E048999]
(00037A00){CnWizards_DXE4.dll} [0E048A00]
(00037AB1){CnWizards_DXE4.dll} [0E048AB1]
[50455D4A]{vcl180.bpl  } Vcl.Controls.TWinControl.GetControl (Line 9131, "Vcl.Controls.pas" + 4) + $A
(000352F2){CnWizards_DXE4.dll} [0E0462F2]
(00263348){mmx_bds11.dll} [0F204348]
[500630C0]{rtl180.bpl  } System.@FinalizeArray (Line 29800, "System.pas" + 139) + $0
[500630B0]{rtl180.bpl  } System.@FinalizeArray (Line 29788, "System.pas" + 127) + $0
[50580E8F]{vcl180.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 10290, "Vcl.Forms.pas" + 25) + $1
[50580ECA]{vcl180.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 10318, "Vcl.Forms.pas" + 1) + $4
[50581205]{vcl180.bpl  } Vcl.Forms.TApplication.Run (Line 10456, "Vcl.Forms.pas" + 26) + $3

1 个答案:

答案 0 :(得分:0)

回答自己 - 似乎是来自GExperts的DBugIntf.pas导致了一些奇怪的错误。在禁用它之后,IDE中的断点一直以基本可接受的方式工作 - 如果它停止工作,IDE的重新启动将修复它。谢谢大家的帮助。