2010-02-08 3 views
7

Je débogue une grande application répartie sur plusieurs unités. J'ai rencontré une erreur de compilation dans une unité de bas niveau et je n'ai pas la moindre idée de la partie de l'application dans laquelle cette unité est référencée. Existe-t-il un moyen d'utiliser l'IDE de RAD studio 2010 pour créer une sorte de include-graph?Delphi - Reverse Lookup 'qui comprend cette unité'

Comme la plupart des unités utilisées ne font pas partie du projet et se propagent sur une arborescence plutôt branchée, je ne peux pas simplement utiliser l'option 'find in files'.

Je suis actuellement en train de traverser mon arbre en utilisant un utilitaire de recherche dans les fichiers, mais c'est lourd. Connaissez-vous d'une façon élégante et élégante? Le développement est dans Embercadero RAD studio 2010, Windows XP 32.

+0

Voir également http://stackoverflow.com/questions/731799/how-can-i-find-all-the-units-in-my-delphi-app –

Répondre

9

Jetez un oeil à la Modelmaker's unit dependeny analyzer. Cela peut vous donner plus que ce que vous voulez et c'est gratuit.

+0

Merci pour le lien. Pour ce que ça vaut, si je n'avais pas déjà choisi une réponse, vous auriez le crédit. – sum1stolemyname

+0

[META Ha, Je peux modifier la réponse sélectionnée. Bon pour vous – sum1stolemyname

+1

+1; Jetez également un coup d'œil à MMX (Modelmaker Code Explorer http://bit.ly/9r1qaV): c'est génial! Je l'utilise pour tous les projets Delphi. Cela me rend tellement plus productif, sans jamais me gêner. –

7

J'utilise une idée très simple: je renomme le nom de l'unité de .pas en .pas_, puis crée le projet. Le compilateur signale une erreur dans l'unité qui utilise l'unité que vous recherchez. Simple et travaille très bien mais je ne le nommer "élégant" :(

Je pense que Delphi, au lieu de:

[Pascal Fatal Error] unit2.pas(31): F2063 Could not compile used unit 'unit2' 

doit signaler:

[Pascal Fatal Error] unit2.pas(31): F2063 Could not compile unit 'unit2' used by 'unit1' 

(peut-être un peu de mainteneurs Delphi lire il:. il rendre notre vie plus facile)

+0

Restez simple, hein? J'aime ça et j'accepte cette réponse. – sum1stolemyname

+0

Un rapport de QC pourrait être un bon début :) –

+0

Je l'ai fait :) Regardez: http://qc.embarcadero.com/wc/qcmain.aspx?d=81934 –

3

Peganza's Pascal Analyzer a un « rapport utilise » peut-être que cela peut vous aider

.

Modifier: Vous pouvez également vérifier Icarus de la même société. C'est gratuit (comme dans la bière :-)) (crédits à Uwe).

+0

Icarus de Peganza ne fait que la chose utilise et est gratuit. –