每天至少4次我需要重新啓動Delphi才能使調試器再次停在斷點處。有時我可以通過在重建代碼之後附加到進程來欺騙它再次工作。但是大部分時間我都做不到,花了很多時間回去重新打開我想要的所有文件。爲什麼我需要重新啓動Delphi 7才能讓調試器正常工作
幾乎每次發生這種情況時,嘗試關閉Delphi時都會發生某種致命錯誤。有沒有解決這個問題?我有最新的Delphi 7,在WinXP上運行,內存充足。我辦公室裏的大多數其他人也會遇到這個問題。
每天至少4次我需要重新啓動Delphi才能使調試器再次停在斷點處。有時我可以通過在重建代碼之後附加到進程來欺騙它再次工作。但是大部分時間我都做不到,花了很多時間回去重新打開我想要的所有文件。爲什麼我需要重新啓動Delphi 7才能讓調試器正常工作
幾乎每次發生這種情況時,嘗試關閉Delphi時都會發生某種致命錯誤。有沒有解決這個問題?我有最新的Delphi 7,在WinXP上運行,內存充足。我辦公室裏的大多數其他人也會遇到這個問題。
當您正在調試時,是否正常退出程序,或者您是否使用IDE強制調試來停止/終止應用程序?我發現使用IDE強制關閉應用程序會導致問題一段時間後(通過重新啓動IDE解決),而從應用程序中退出程序不會導致這樣的問題。
警告:我的經驗是用Delphi 6
我們與德爾福7體驗與你相似:在IDE中相當穩定崩潰,抽象的錯誤,無效的指針引用,並在VCL庫異常。
它似乎取決於您已加載的項目的複雜性:我們的主項目是一個具有多個MDI表單和第三方庫的200,000多行程序。事實上,每當我們退出Delphi,我們都必須處理災難性的致命錯誤。我們非常善於使用任務管理器來追蹤Delphi32進程並殺死它 - 實際上是有時候脫身的唯一方法。
我們已經升級到德爾福2009,它具有更好的穩定性。我的感覺是,德爾福7有許多錯誤,你將不得不忍受他們,或升級。
我也曾在D7中得到過這個 - 但實際上只有一個特定的項目(無可否認非常大,許多形式和自制的定製組件)。其他項目(一些同樣大)很好。
我的感覺是它在某種程度上與使用從其他框架/窗體子類化的框架和/或窗體有關,您可以在IDE /調試器中打開後代窗體而不是祖先窗體。
因爲,就像你一樣,我覺得每天關閉並重新啓動IDE是一件非常痛苦的事情,我煞費苦心地爲該項目創建一個.DSK文件,該文件包含所有父項在其中形成東西,這樣當Delphi啓動該項目時,它會自動打開所有其他表單。一旦我確定我已經獲得了DSK的內容,我就只能讀取.DSK文件了......!
這意味着編輯會'忘記'我當時打開了哪些文件,但至少它會自動打開所有似乎使IDE'行爲'的東西。如果我打算在幾天內處理一些特定的文件,我只需手動將它們添加到.DSK文件。
我似乎記得德爾福會通過一些關於該文件是隻讀的投訴,但這種方法帶走了我們日常疼痛的80%左右。
然後我做的另一件事就是讓任務管理器加載,最小化,作爲我的系統啓動的一部分。至少這是ALT-TAB的一個簡單例子,它可能導致某些可能導致IDE死機的事情。 :-)
好的,繼續我在這個問題上的迴應,下面是一個示例DSK文件。我不能發表這個作爲我的迴應評論,否則我會。 :-)
對他們來說真的沒什麼了不起,他們非常直截了當,並且一目瞭然應該幫助你看到這一點。我實際上建議你只需加載Delphi,打開'自動保存桌面'選項(它位於環境或編輯器中,我忘了它),根據需要排列IDE(打開各種源文件等),然後保存/關閉該項目。您會在項目目錄中找到一個MyProject.dsk(etc)文件 - 只需將其設置爲只讀(或按照您在註釋中鏈接到的文章中的建議,並將其備份到您可以隨時帶來的位置只要你需要回來)。
無論如何,這裏有一個示例DSK,讓你知道你在玩什麼。它們只是INI類型的文本文件,如果你願意的話,你可以在記事本中對它們進行破解。 :-)
[Modules] Module0=C:\Projects\GUIPlay\src\du_FrameUtils.pas Module1=C:\Projects\GUIPlay\src\du_BaseDialogs.pas Module2=C:\Projects\GUIPlay\src\dm_DataMain.pas Module3=C:\Projects\GUIPlay\src\du_Main.pas Count=4 EditWindowCount=1 [C:\Projects\GUIPlay\src\du_FrameUtils.pas] ModuleType=SourceModule FormState=1 FormOnTop=0 [C:\Projects\GUIPlay\src\du_BaseDialogs.pas] ModuleType=SourceModule FormState=1 FormOnTop=0 [C:\Projects\GUIPlay\src\dm_DataMain.pas] ModuleType=SourceModule FormState=1 FormOnTop=1 [C:\Projects\GUIPlay\src\du_Main.pas] ModuleType=SourceModule FormState=1 FormOnTop=1 [C:\Program Files\Borland\Delphi7\Projects\ProjectGroup1.bpg] FormState=0 FormOnTop=0 [C:\Projects\GUIPlay\src\GUIPlay.dpr] FormState=0 FormOnTop=0 [C:\Projects\GUIPlay\src\GUIPlay.todo] FormState=0 FormOnTop=0 [EditWindow0] ViewCount=4 CurrentView=2 View0=0 View1=1 View2=2 View3=3 [email protected] [email protected] Create=1 Visible=1 State=0 Left=212 Top=157 Width=1127 Height=757 MaxLeft=-1 MaxTop=-1 ClientWidth=1119 ClientHeight=723 LeftPanelSize=140 [email protected] LeftPanelData=000004000000000000000000000000000000000000000000000100000000000000000C000000436F64654578706C6F726572FFFFFFFF RightPanelSize=0 BottomPanelSize=0 [email protected] BottomPanelData=00000400010000000B0000004D6573736167655669657700000000000000000000000000000000000100000000000000000B0000004D65737361676556696577FFFFFFFF [View0] Module=C:\Projects\GUIPlay\src\du_FrameUtils.pas CursorX=1 CursorY=1 TopLine=1 LeftCol=1 [View1] Module=C:\Projects\GUIPlay\src\du_BaseDialogs.pas CursorX=1 CursorY=1 TopLine=1 LeftCol=1 [View2] Module=C:\Projects\GUIPlay\src\dm_DataMain.pas CursorX=1 CursorY=1 TopLine=1 LeftCol=1 [View3] Module=C:\Projects\GUIPlay\src\du_Main.pas CursorX=1 CursorY=1 TopLine=1 LeftCol=1 [Watches] Count=0 [Breakpoints] Count=0 [AddressBreakpoints] Count=0 [Main Window] Create=1 Visible=1 State=2 Left=0 Top=0 Width=1571 Height=143 MaxLeft=-1 MaxTop=-1 MaxWidth=1579 MaxHeight=143 ClientWidth=1571 ClientHeight=109 [ProjectManager] Create=1 Visible=1 State=0 Left=1188 Top=135 Width=345 Height=762 MaxLeft=-1 MaxTop=-1 ClientWidth=337 ClientHeight=736 TBDockHeight=305 LRDockWidth=438 Dockable=1 [AlignmentPalette] Create=1 Visible=0 State=0 Left=200 Top=144 Width=156 Height=84 MaxLeft=-1 MaxTop=-1 ClientWidth=150 ClientHeight=60 [PropertyInspector] Create=1 Visible=1 State=0 Left=3 Top=147 Width=272 Height=783 MaxLeft=-1 MaxTop=-1 ClientWidth=264 ClientHeight=757 TBDockHeight=783 LRDockWidth=272 Dockable=1 SplitPos=85 ArrangeBy=Name SelectedItem=Name ExpandedItems= HiddenCategories= [ObjectTree] Create=1 Visible=0 State=0 Left=0 Top=142 Width=190 Height=314 MaxLeft=-1 MaxTop=-1 ClientWidth=182 ClientHeight=288 TBDockHeight=314 LRDockWidth=190 Dockable=1 [[email protected]] Create=1 Visible=1 State=0 Left=0 Top=12 Width=140 Height=711 MaxLeft=-1 MaxTop=-1 ClientWidth=140 ClientHeight=711 TBDockHeight=305 LRDockWidth=140 Dockable=1 [[email protected]] Create=1 Visible=0 State=0 Left=12 Top=0 Width=1107 Height=66 MaxLeft=-1 MaxTop=-1 ClientWidth=1107 ClientHeight=66 TBDockHeight=66 LRDockWidth=443 Dockable=1 [DockHosts] DockHostCount=0
正如你所看到的,實際上它的文件重新打開,與窗戶的位置/大小的一些感覺和順序來打開文件一起列表。
祝你好運! :-)
你有項目中的COM對象嗎? – 2009-01-22 16:51:49
(什麼是> 10個字母的單詞不是?) – 2009-02-05 17:56:25