Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern (https://www.delphipraxis.net/184478-erzeugen-der-rsm-datei-bei-64-bit-programmen-verhindern.html)

BigAl 30. Mär 2015 08:35

Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern
 
Hallo zusammen,

ich nutze Delphi XE6 Pro und habe hier einige 64bit Programme. Sobald ich ein Programm kompiliere wird eine (sehr große) RSM-Datei erzeugt. Laut Online-Hilfe soll diese Datei ja nur erzeugt werden wenn "Externe Symbole" beim Linken auf "True" stehen. Allerdings erzeugt er die bei mir IMMER. Unabhängig der Compiler/Linker-Einstellung. Selbst für die vorgegebene Release-Einstellungen wird die erzeugt.

Mich stört das in sofern, da ich diese - laut Beschreibung - für mich unnötige Datei an sehr vielen Stellen "mitschleifen" muss (Datensicherung etc.).

Wie/Wo lässt sich das abschalten?

Danke und Gruß
Alex

jaenicke 30. Mär 2015 09:46

AW: Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern
 
Das funktioniert bei uns problemlos. Offenbar ist da etwas mit den Einstellungen durcheinander gekommen. Hast du die Einstellung für alle Konfigurationen deaktiviert? Wenn du sie jetzt für alle Konfigurationen anschaltest, ist sie dann auch in allen Konfigurationen an, wenn du durchblätterst? (So kannst du prüfen, ob die Vererbung durch die Konfigurationen funktioniert.)

Du kannst die .dproj Datei auch einfach einmal löschen und dann die .dpr öffnen. Du musst dann natürlich alle Einstellungen wieder neu setzen, aber solche Probleme werden dadurch in der Regel behoben.

BigAl 30. Mär 2015 10:20

AW: Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern
 
Hallo Sebastian,

vielen Dank für Deine schnelle Antwort. Wenn Du sagst, dass das eigentlich gehen müsste, dann mache ich mich mal auf die Suche. Die Einstellungen aus der IDE habe ich schon alle durch. Die sind sauber. Ist halt ziemlich aufändig, da ich eine Projektgruppe habe, in der 10 Programme erzeugt werden. Habe mir auch schon die Konfiguration mit Ctrl-O-O im Quelltext angeschaut. Auch da gibt es kein "-VR" order so.

Habe mir jetzt mal den Compiler-Aufruf angeschaut:

c:\program files (x86)\embarcadero\studio\14.0\bin\dcc64.exe -$O- -$W+ -$R+ -$Q+ --no-config -M -Q -TX.exe -AGenerics.Collections=System.Generics.Collections; Generics.Defaults=System.Generics.Defaults;WinType s=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes= BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG -E.\..\Execute -I"c:\program files (x86)\embarcadero\studio\14.0\lib\Win64\release\DE ";"c:\program files (x86)\embarcadero\studio\14.0\lib\Win64\release";C :\Users\Alex\Documents\Embarcadero\Studio\14.0\Imp orts;"c:\program files (x86)\embarcadero\studio\14.0\Imports";C:\Users\Pu blic\Documents\Embarcadero\Studio\14.0\Dcp\Win64;" c:\program files (x86)\embarcadero\studio\14.0\include";"C:\Program Files (x86)\Devart\SDAC for RAD Studio XE6\Lib\Win64";"C:\Program Files (x86)\Devart\SDAC for RAD Studio XE6\Bin\Win64";"C:\Program Files (x86)\Steema Software\TeeChart 2014 for RAD XE6\Delphi20.win64\Lib";"C:\Program Files (x86)\FastReports\FastReport 5\LibD20x64";"C:\Program Files (x86)\Raize\RC6\Lib\RS-XE6\Win64";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE6\Win64";"C:\Program Files (x86)\Raize\IX2\Lib\RS-XE6\Win64";"C:\Program Files (x86)\madCollection\madBasic\BDS14\win64";"C:\Prog ram Files (x86)\madCollection\madDisAsm\BDS14\win64";"C:\Pro gram Files (x86)\madCollection\madExcept\BDS14\win64";"C:\Pro gram Files (x86)\madCollection\madExcept\..\Plugins\win64";"C :\Program Files (x86)\madCollection\madSecurity\BDS14\win64" -LEC:\Users\Public\Documents\Embarcadero\Studio\14. 0\Bpl\Win64 -LNC:\Users\Public\Documents\Embarcadero\Studio\14. 0\Dcp\Win64 -NU.\Win64\Debug -NSWinapi;System.Win;Data.Win;Datasnap.Win;Web.Win; Soap.Win;Xml.Win;System;Xml;Data;Datasnap;Web;Soap ;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell; -O"c:\program files (x86)\embarcadero\studio\14.0\lib\Win64\release";C :\Users\Alex\Documents\Embarcadero\Studio\14.0\Imp orts;"c:\program files (x86)\embarcadero\studio\14.0\Imports";C:\Users\Pu blic\Documents\Embarcadero\Studio\14.0\Dcp\Win64;" c:\program files (x86)\embarcadero\studio\14.0\include";"C:\Program Files (x86)\Devart\SDAC for RAD Studio XE6\Lib\Win64";"C:\Program Files (x86)\Devart\SDAC for RAD Studio XE6\Bin\Win64";"C:\Program Files (x86)\Steema Software\TeeChart 2014 for RAD XE6\Delphi20.win64\Lib";"C:\Program Files (x86)\FastReports\FastReport 5\LibD20x64";"C:\Program Files (x86)\Raize\RC6\Lib\RS-XE6\Win64";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE6\Win64";"C:\Program Files (x86)\Raize\IX2\Lib\RS-XE6\Win64";"C:\Program Files (x86)\madCollection\madBasic\BDS14\win64";"C:\Prog ram Files (x86)\madCollection\madDisAsm\BDS14\win64";"C:\Pro gram Files (x86)\madCollection\madExcept\BDS14\win64";"C:\Pro gram Files (x86)\madCollection\madExcept\..\Plugins\win64";"C :\Program Files (x86)\madCollection\madSecurity\BDS14\win64" -R"c:\program files (x86)\embarcadero\studio\14.0\lib\Win64\release\DE ";"c:\program files (x86)\embarcadero\studio\14.0\lib\Win64\release";C :\Users\Alex\Documents\Embarcadero\Studio\14.0\Imp orts;"c:\program files (x86)\embarcadero\studio\14.0\Imports";C:\Users\Pu blic\Documents\Embarcadero\Studio\14.0\Dcp\Win64;" c:\program files (x86)\embarcadero\studio\14.0\include";"C:\Program Files (x86)\Devart\SDAC for RAD Studio XE6\Lib\Win64";"C:\Program Files (x86)\Devart\SDAC for RAD Studio XE6\Bin\Win64";"C:\Program Files (x86)\Steema Software\TeeChart 2014 for RAD XE6\Delphi20.win64\Lib";"C:\Program Files (x86)\FastReports\FastReport 5\LibD20x64";"C:\Program Files (x86)\Raize\RC6\Lib\RS-XE6\Win64";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE6\Win64";"C:\Program Files (x86)\Raize\IX2\Lib\RS-XE6\Win64";"C:\Program Files (x86)\madCollection\madBasic\BDS14\win64";"C:\Prog ram Files (x86)\madCollection\madDisAsm\BDS14\win64";"C:\Pro gram Files (x86)\madCollection\madExcept\BDS14\win64";"C:\Pro gram Files (x86)\madCollection\madExcept\..\Plugins\win64";"C :\Program Files (x86)\madCollection\madSecurity\BDS14\win64" -U"c:\program files (x86)\embarcadero\studio\14.0\lib\Win64\release\DE ";"c:\program files (x86)\embarcadero\studio\14.0\lib\Win64\release";C :\Users\Alex\Documents\Embarcadero\Studio\14.0\Imp orts;"c:\program files (x86)\embarcadero\studio\14.0\Imports";C:\Users\Pu blic\Documents\Embarcadero\Studio\14.0\Dcp\Win64;" c:\program files (x86)\embarcadero\studio\14.0\include";"C:\Program Files (x86)\Devart\SDAC for RAD Studio XE6\Lib\Win64";"C:\Program Files (x86)\Devart\SDAC for RAD Studio XE6\Bin\Win64";"C:\Program Files (x86)\Steema Software\TeeChart 2014 for RAD XE6\Delphi20.win64\Lib";"C:\Program Files (x86)\FastReports\FastReport 5\LibD20x64";"C:\Program Files (x86)\Raize\RC6\Lib\RS-XE6\Win64";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE6\Win64";"C:\Program Files (x86)\Raize\IX2\Lib\RS-XE6\Win64";"C:\Program Files (x86)\madCollection\madBasic\BDS14\win64";"C:\Prog ram Files (x86)\madCollection\madDisAsm\BDS14\win64";"C:\Pro gram Files (x86)\madCollection\madExcept\BDS14\win64";"C:\Pro gram Files (x86)\madCollection\madExcept\..\Plugins\win64";"C :\Program Files (x86)\madCollection\madSecurity\BDS14\win64" -V -VN -VR -NBC:\Users\Public\Documents\Embarcadero\Studio\14. 0\Dcp\Win64 -NHC:\Users\Public\Documents\Embarcadero\Studio\14. 0\hpp -NO.\Win64\Debug femProject.dpr

Da scheint wohl madExcept was einzufügen. Und das, obwohl ich "adjust compiler & linker options" deaktiviert habe. Werde mal das madException komplett deinstallierten. Brauche ich während der Entwicklung eh nicht...

Vielen Dank nochmal

Alex

Sherlock 30. Mär 2015 10:23

AW: Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern
 
Die Exception Tracker wie MadExcept und EurekaLog brauchen das. Zumidnest vorübergehend während des Compiles...

Sherlock

himitsu 30. Mär 2015 10:28

AW: Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern
 
Datensicherung: Kann eure DS denn keine Dateien ausschließen? :stupid:

Ihr nutzt nicht sowas, wie z.B. Eurekalog? Solche Dinge spielen einfach so gern an den Projekteinstellungen rum.

Der schöne Günther 30. Mär 2015 10:32

AW: Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern
 
Der JCL-Experte für JDBG-Dateien auch. Hierbei schaltet der das auf Nachfrage selbstständig ein, die DPROJ-Datei auf der Festplatte ändert sich aber nicht, auch die IDE enabled den "Alle Speichern"-Button nicht.

Ansonsten: Post-Build-Ereignis erstellen für "Alle .rsm-Dateien" löschen ;-)

BigAl 30. Mär 2015 10:34

AW: Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern
 
Hallo Sherlock,

Zitat:

Zitat von Sherlock (Beitrag 1295310)
Die Exception Tracker wie MadExcept und EurekaLog brauchen das. Zumidnest vorübergehend während des Compiles...

Sherlock

dachte ich auch. Aber da ich madExcept deaktiviert habe, sollte der auch die Füße still halten. Habe gerade madExcept deinstalliert. Jetzt ist es zumindest so, dass er keine RSM mehr erzeugt wenn ich die Release kompiliere. Sobald beim Linker aber der Schalter "Debug-Information" ein ist, wird die RSM wieder erzeugt. Beim meinem Beispiel erhöht sich die Größe der exe-Datei vom 8 auf 24 MB, die RSM wird mit 40MB erzeugt. Evtl. hat das ja mit der 64-Bit Geschichte was zu tun. Ich bin nur verwirrt, da Embarcader schreibt, dass diese Datei für Remote-Debugging benötigt wird. 32-Bit kann ich leider nicht testen, da alle Programme der Projektgruppe zwingend 64-Bit benötigen.

@Jaenicke: Wird bei Dir die RSM-Datei bei 64-Bit, "Debugger ein" erzeugt?

Alex

BigAl 30. Mär 2015 10:42

AW: Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern
 
Hallo Günther,

Zitat:

Zitat von Der schöne Günther (Beitrag 1295313)
Der JCL-Experte für JDBG-Dateien auch. Hierbei schaltet der das auf Nachfrage selbstständig ein, die DPROJ-Datei auf der Festplatte ändert sich aber nicht, auch die IDE enabled den "Alle Speichern"-Button nicht.

Ansonsten: Post-Build-Ereignis erstellen für "Alle .rsm-Dateien" löschen ;-)

das wäre natürlich eine Möglichkeit. Irgendwie müssen wir die SSDs belasten :-). Der interne Debugger braucht die nämlich definitiv nicht. Ich kann auch problemlos debuggen (Breakpoints etc.) wenn die RSM-Datei weg ist.

Gruß
Alex

himitsu 30. Mär 2015 10:44

AW: Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern
 
XE7 Win64 erzeugt auch die RSM und das Abschalten einzelner Optionen im Debug-Build hat es bei einigen Tests nicht verhindert.

[edit]
Das Abschalten laut http://docwiki.embarcadero.com/RADSt...SM-Debug-Datei hat definitiv im DEBUG-Profil keine Wirkung.
Im RELEASE ist es dagegen weg. (du könntest die beiden Profile mal vergleichen ... Schritt für Schritt angleichen, bis es irgendwann hoffentlich weg ist und sich merken was man zuletzt umgestellt hat)

Der schöne Günther 30. Mär 2015 10:53

AW: Erzeugen der RSM-Datei bei 64-Bit Programmen verhindern
 
"DEBUG" und "Release" sind doch nur Namen. An den Buchstaben wird es nicht liegen, sondern an den Einstellungen die hinter diesen Profilen stecken.

Aber wir können schon festhalten dass diese Einstellung entweder unter
Delphi-Compiler -> Compilieren
oder
Delphi-Compiler -> Linken

stecken muss, oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:26 Uhr.
Seite 1 von 2  1 2      

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