2016-06-14 29 views
9

Ho un progetto DLL COM e sono in grado di eseguire il debug (arresto ai punti di interruzione) in Delphi 2007 e XE8.Delphi 10 Seattle e 10.1 Berlin non riescono a eseguire il debug di DLL COM

Tuttavia, sembra che l'IDE non si possa fermare ai punti di interruzione in Delphi 10 Seattle o 10.1 Berlino.

miei passi di debugging:

  1. Scelgo DEBUG (e verificare le opzioni di debug spuntato ad esempio informazioni di debug.)

  2. regsvr32 la DLL progetto sotto la directory di output

  3. write un vbscript che crea semplicemente l'oggetto COM e invoca il suo metodo

  4. nel debug er, impostare una riga di comando Run usando c:\windows\syswow64\cscript.exe per 32 bit o c:\windows\system32\cscript.exe 64 bit debugging

  5. impostare il parametro di riga di comando per eseguire il vbscript.

  6. impostare un punto di interruzione nel metodo richiamato.

  7. Hit F9

atteso: fermarsi al punto di interruzione

In Delphi 2007 e XE8, tutto è OK, ma non ero in grado di farlo in Delphi Seattle o Berlino.

Cosa potrebbe andare storto qui? Ci sono delle impostazioni che devo abilitare/disabilitare per eseguire il debug della DLL COM nelle ultime versioni IDE di Delphi?

+1

Buona domanda, ma non così facile da rispondere. Potrebbe essere un bug. –

+1

Archivia un rapporto con Embarcadero in [Quality Portal] (http://quality.embarcadero.com). –

risposta

1

Sembra che si tratti di un problema dell'IDE. Ho sollevato il problema in JIRA: https://quality.embarcadero.com/browse/RSP-14964

Finalmente nel mio caso trovo un rimedio.

Devo premere F8 anziché F9. In questo caso, la finestra della CPU apparirà con le istruzioni miste Pascal e Assembly, e se si preme F9 sarà più probabile che si fermi ai punti di interruzione (tuttavia a volte si verificano comportamenti casuali). Posso riprodurlo tutte le volte che voglio. Premere direttamente F9 non si ferma ai punti di interruzione, ma la finestra cscript.exe fa il popup durante il debug.

Il mio progetto è una DLL COM 300K.

Problemi correlati