Domanda

opere di debug di breakpoint sottili in tutte le altre 38 unità del mio sistema. Ma, a mio DataModule, che ha + - 10.000 linee, Delphi disabilita poi dopo mi lancio da F9 / F8 / F7. In ogni parte della fonte di tale unità, anche su gradini obrigatory come OnCreate, SQLConnection.Active:=true, etc. Dettaglio: funziona bene fino a + - 20 giorni fa. Sto usando D7 e hanno tutte le fonti di componenti anche. Grazie Felipe

È stato utile?

Soluzione 4

ho scoperto questo problema. E 'un comportamento strano in Delphi7 che limita il numero di campi nella sezione di classe di interfaccia, tra: tipo TDM = class (TDataModule) e la sezione privata. Ho eliminato alcuni campi (DataSet campi (i campi + -40)) e degub corre di nuovo. Aggiungo questi campi di nuovo, e il debug non viene eseguito. Sono sicuro che un limite, perché non lo fa Mather quali campi componenti ho cancellato. Ho provato con diversi campi, da tabelle diverse troppo, aggiungendo, la sperimentazione e l'eliminazione. E 'un peccato, ma è vero ... Grazie per il vostro aiuto.

Altri suggerimenti

Prova a fare una generazione completa (Shift + F9). Se questo non funziona, allora che cosa succede se si simulare un punto di interruzione nel codice con il seguito?

asm int 3 end;

Controlla più copie del file di origine per la datamodule. A volte il codice si pensa che si sta eseguendo, non è il codice del compilatore e debugger stanno vedendo.

Avanti, assicurarsi che non aver attivato accidentalmente il debug nel codice con {$ D} o {$ debuginfo OFF}. Questo può disattivare il debug di informazioni per una singola unità.

Inoltre, assicurarsi di aver attivato il debug integrato in Strumenti | Opzioni | Opzioni Debugger. So che hai detto si potrebbe eseguire il debug di altri posti, ma non sarebbe male fare in modo che il debug integrato non ha ottenuto accidentalmente disattivato in qualche modo.

Ho un vago ricordo che il debug di file di grandi dimensioni è stato buggy nella vecchia D7. Prova a rompere voi grande unità in diverse classi e se se è possibile eseguire il debug di fuori dell'unità. Un'altra opzione potrebbe essere quella di disattivare debuginfo nel file di grandi dimensioni ad eccezione della sezione che si desidera eseguire il debug. Vale la pena di provare.

C'è un post da Steve Trefethen, un po 'indietro, spiegando alcuni possibili motivi , anche se se si dice si può eseguire il debug di altre unità, dubito che si applicano.

Abbiamo avuto lo stesso problema con un grande DataModule in Delphi 5 che non ci avrebbe lasciato il debug di esso, e il tipo di metterlo giù al fatto che è un file troppo grande per eseguire il debug e Delphi non gradire. Quando ci siamo trasferiti a Delphi 2007, siamo riusciti a eseguire il debug di nuovo. Non so perché, non era cambiato nulla (codice saggio).

Felipe, è l'unità che non vi permetterà di eseguire il debug in una DLL che viene spostato all'interno o all'esterno di memoria? Ho trovato durante il debug dll che se faccio qualcosa nel file eseguibile che esegue il codice in un altro DLL o scarica il dll che l'unità problema è - Delphi disabiliterà tutti i punti di interruzione. Di solito un riavvio di Delfi ed essere sicuri di mantenere una singola istanza del dll dell'unità problema nella memoria è l'unica soluzione per questo problema.

dubito dimensioni è il problema, come ho un'unità 17k linea che ho DEBUG regolarmente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top