在程序在调试器中运行时按F12应该会中断执行并打开调试器.这在
Windows XP上正常工作(使用D2007和XE2测试)但在Windows 7和8上失败(也在D2007和XE2上测试;在三台计算机上测试).
注册表已正确设置(Windows 7):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]@H_404_5@ “UserDebuggerHotKey”=dword:00000000@H_404_5@ “Debugger”=”\”C:\Windows\system32\vsjitdebugger.exe\” -p %ld -e %ld”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\AutoExclusionList]@H_404_5@ “DWM.exe”=dword:00000001
XP安装还设置“Auto”=“1”并省略AutoExclusionList,但在Windows 7计算机上复制这些更改不会完成任何操作.
奇怪的是德尔福似乎意识到F12被压了.当我在Windows 7机器上的调试器中运行程序并按F12时,Delphi中的Event Log窗口显示
Thread Start: Thread ID: 4080. Process Project73.exe (7108)
Thread Exit: Thread ID: 4080. Process Project73.exe (7108)
只是没有触发断点并且应用程序继续运行.
有谁知道如何在Windows 7/8中恢复此功能?