AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ist Unit einkompiliert?

Ein Thema von himitsu · begonnen am 12. Mai 2011 · letzter Beitrag vom 13. Mai 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#1

Ist Unit einkompiliert?

  Alt 12. Mai 2011, 10:34
Moin,

gibt es eine Möglichkeit, um rauszubekommen, ob eine Unit einkompiliert ist, bzw welche Units das sind oder ob diese über eine andere BPL eingebunden sind.

Also bei BPLs, EXEn, DLLs und die .MAP wäre aktuell auch vorhanden.



Denn entweder haben wir hier extrem viele Units überall einkompilert oder die MAP zeigt, im Abschnitt Detailed map of segments, auch die Units an, welche sich in anderen BPLs befinden, welcher aber verwendet werden.

In den Abschnitten "Line numbers for ..." sind doch bestimmt nur die einkompilierten Units aufgelistet, welcher Debuginfos und genutzten Quellcode/Befehle enthalten?
Units ohne Quellcode/Befehle, sondern nur mit Type und Konstanten findet man anscheinend nicht darunter.



Wir haben hier mehrere DLLs, BPL und EXEn und ich beführchte, daß dort einige units mehrfach einkompiliert wurden ... jedenfalls ibt es beim Debuggen manchmal Probleme, daß geänderte Quellcodes nicht übernommen werden zu scheinen.
(beim vollständigen Erstellen, via FinalBuilder, gibt's dieses Problemchen dann natürlich nicht mehr)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (12. Mai 2011 um 10:37 Uhr)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: Ist Unit einkompiliert?

  Alt 12. Mai 2011, 12:06
Bei der JCL ist ein "Project Analyzer" dabei.
Miniaturansicht angehängter Grafiken
projectanalyzer.gif  
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ist Unit einkompiliert?

  Alt 12. Mai 2011, 13:03
Bei der JCL ist ein "Project Analyzer" dabei.
Gibt's den auch Einzeln? (nicht als IDE-Experte)

Ich kann hier jetzt schlecht einfach so die JCL auf unserem Firmenserver installieren, nur um einmal was nachzusehn.

Hab ja gehoft, daß man sich von delphi oder vom Compiler diese Info auch so liefern lassen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Ist Unit einkompiliert?

  Alt 12. Mai 2011, 13:19
Hallo,

Menü Projekt -> Optionen ->Linker -> MAP Detaliert und Du siehtst die gewünschte Information mit etwas blättern.

Deine Units befinden sich am Ende der Datei

Uwe
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#5

AW: Ist Unit einkompiliert?

  Alt 12. Mai 2011, 15:25
Menü Projekt -> Optionen ->Linker -> MAP Detaliert und Du siehtst die gewünschte Information mit etwas blättern.

Deine Units befinden sich am Ende der Datei
Ist schon lange so eingestellt,
aber ich finde da keine derartige Liste.

Da gibt es höchstens eine Liste von eingebundenen Resorcendateien (.res .dfm) am Ende.
Vielleicht hat man da im XE was ausgebaut.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Ist Unit einkompiliert?

  Alt 12. Mai 2011, 15:53
Habe eben noch einmal nachgesehen. Es wird eine Datei mit dem Namen Deines Projektes und der Endung *.map angelegt.

Aber, ich habe die Einstellung vorgenommen und dachte alles ist gut. Beim nächsten öffnen von Delphi war es wieder auf "aus" gestellt. Gibt scheinbar unten links eine Möglichkeit die Einstellung für neue Projete als Srandart zu wählen.

Schau mal nach...
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#7

AW: Ist Unit einkompiliert?

  Alt 12. Mai 2011, 16:02
Also, bei uns bleibt diese Einstellung erhalten.
Der FinalBuilder ignoriert die Projektoptionen und nutzt dort seine eigenen Einstellungen.
In Delphi und im FinalBuilder ist es auf detiliert eingestellt und zumindestens im FinalBuilder sollte diese Option ja genutzt werden, aber ich finde dennoch keine derartige Liste.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Ist Unit einkompiliert?

  Alt 12. Mai 2011, 19:36
Du könntest in die verdächtigte Datei einen Fehler einbauen (z.B. 'abc' irgendwo im Text schreiben) und ein BuildAll machen. Wenn die Datei verwendet wird, dann wird Delphi den Fehler monieren.
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#9

AW: Ist Unit einkompiliert?

  Alt 12. Mai 2011, 19:47
Man könnte jetzt sagen, es ginge um ein sehr großes Projekt, aus vielen BPLs, DLLs, ein paar EXEn und unzählingen
historisch gewachsener und über viele Jahre verflochtener Units.

Und da wäre mal ein Überblick was wie/wo mit drinsteckt ganz hilfreich,
denn es scheint manchmal beim Debuggen einige Problemchen zu geben.

Vor einer Weile hatten wir z.B. eine Variable, welche in einem Modul irendwie defekt zu sein schien.
Am Ende war es so, daß diese Variable an einer Stelle zwar initialisiert wurde, aber an anderer Stelle urplötzlich NIL war.
Tja, die Unit und somit auch diese globale Variable waren doppelt vorhanden, in dem Wirrwar aus DLLs und BPLs.

Bei ein paar Units könnte man das mit der "Signatur" schon machen, aber insgesamt wird es bestimmt etwas viel.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (12. Mai 2011 um 19:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Ist Unit einkompiliert?

  Alt 12. Mai 2011, 20:35
Diese beiden scheinen die besten Werkzeuge zu sein, um nicht verwendete Dateien im Projekt aufzuspüren.

In der MAP-Datei gibt es pro Datei eine Zeile, wie z.B.:
Line numbers for Variants(Variants.pas) segment .text

Man könnte einen Parser programmieren, der alle Zeilen auswirft, die mit 'Line numbers for' beginnen, die Dateinamen rauslesen und dann alle verbundenen Laufwerke durchsuchen lassen, ob eine Datei dieses Namens dort rumliegt. Schade, dass ich grad so wenig Zeit habe, das klingt interessant.
Nr.1 Delphi-Tool: [F7]

Geändert von ConnorMcLeod (12. Mai 2011 um 20:46 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz