Premere F12 mentre il programma è in esecuzione nel debugger deve interrompere l'esecuzione e aprire il debugger. Funziona correttamente su Windows XP (testato con D2007 e XE2) ma non funziona su Windows 7 e 8 (anche testato con D2007 e XE2, testato su tre computer).F12 non funziona in Delphi debugger su Windows 7/8
Registro è impostato correttamente (Windows 7):
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AeDebug] "UserDebuggerHotKey" = dword: 00000000 "Debugger" = "\" C: \ Windows \ system32 \ vsjitdebugger.exe \ "-p% ld -e% ld"
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AeDebug \ AutoExclusionList] "dwm.exe" = dword: 00000001
L'installazione di XP imposta anche "Auto" = "1" e omette AutoExclusionList ma la duplicazione di tali modifiche sulla macchina Windows 7 non porta a nulla.
La cosa strana è che Delphi sembra essere a conoscenza della F12 premuta. Quando eseguo un programma in un debugger su una macchina Windows 7 e premere il tasto F12, la finestra Registro eventi in Delphi mostra Start
Discussione: ID thread: 4080. Processo Project73.exe (7108)
Exit Discussione : Thread ID: 4080. Process Project73.exe (7108)
È solo che il punto di interruzione non viene attivato e l'applicazione continua a funzionare.
Qualcuno sa come ripristinare questa funzionalità in Windows 7/8?
Nel corso della giornata abbiamo dovuto installare un plug-in IDE per fermare F12 inciampare su un 'int 3'. Usiamo F12 come tasto di scelta rapida. Per fortuna MS si è liberato di 'int 3' nelle ultime versioni di Windows. –