程序在調試器中運行時按下F12應該會中斷執行並打開調試器。這可以在Windows XP(使用D2007和XE2測試)上正常工作,但在Windows 7和8上失敗(也使用D2007和XE2進行測試;在三臺計算機上測試)。F12在Windows 7/8上的Delphi調試器中不起作用
註冊表設置正確(Windows 7)中:
[HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows NT \ CURRENTVERSION \的AeDebug] 「UserDebuggerHotKey」= DWORD:00000000 「調試」= 「\」 C:\ WINDOWS \ SYSTEM32 \ vsjitdebugger.exe \ 「-p%ld個-e%ld個」
[HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows NT \ CURRENTVERSION \的AeDebug \ AutoExclusionList] 「DWM.exe」= DWORD: 00000001
XP安裝還會設置「Auto」=「1」並省略AutoExclusionList,但在Windows 7機器上覆制這些更改不會產生任何結果。
奇怪的是,德爾福似乎意識到被按下的F12。當我在Windows 7的機器,然後按F12調試運行程序,在Delphi的事件日誌窗口顯示
主題開始:線程ID:4080進程Project73.exe(7108)
線程退出:線程ID:4080.過程Project73.exe(7108)
只是沒有觸發斷點,應用程序仍在運行。
有誰知道如何在Windows 7/8中恢復此功能?
回到當天,我們必須安裝一個IDE插件來阻止F12跳過「int 3」。我們使用F12作爲快捷鍵。幸運的是MS在最近版本的Windows中擺脫了「int 3」。 –