![]() |
Warum fehlen die DebugInfos? (Delphi 11.3)
Kompiliert wird wird eine DLL ins Verzeichnis A (BPLOutput)
im AfterBuildScript wird Diese nach Verzeichnis B kopiert und vorher noch der ECC (Eurekalog) drübergejagt. Als Host ist die EXE im Testverzeichnis B angegeben. Geladen wird dann auch die DLL aus Verzeichnis B. Dateien in A und B sind 100% identisch. Aber dennoch meint der Debugger Zitat:
Gebe ich im BPLOutput das Verzeichnis B an und kopiere nach A (und lade dann ebenfalls B), dann funktioniert es plötzlich. Zitat:
Es ist jeweils genau die selbe DLL, einmal umkopiert oder direkt geladen. Ich will damit aufhören, dass FinalBuilder und Delphi/Debugger unterschiedlich arbeiten.
Kurz nach dem Kompilieren sind die blauen Punkte noch da, dann beim Start der EXE sind sie weg (so weit OK) und sobald die DLL geladen wird, sollten sie seigentlich zurückkommen. Jetzt auch noch in jedes der fast 100 Projekte (Packages/DLLs/usw.) eine weitere abgeleitete Config, welche (hoffentlich) nur den anderen Ausgabepfad nutzt, für den Build aus dem FinalBuilder, wäre nicht unbedingt schön, vor allem da ich keinen Grund sehe, warum Delphi sich weigert die Debug-Infos zu laden. |
AW: Warum fehlen die DebugInfos? (Delphi 11.3)
Zum Debuggen einer DLL packe ich immer beide Projekte in eine Projektgruppe und erzeuge beide von dort. Das klappt in aller Regel problemlos, abgesehen von zu viel Speicherverbrauch damals bei XE6.
Kopierst du nur die DLL oder auch die jeweils aktuellen externen Debugsymbole? Der Process Monitor könnte zeigen, ob die .rsm Datei an der korrekten Stelle gesucht wird. |
AW: Warum fehlen die DebugInfos? (Delphi 11.3)
Es ist alles in einer Projektgruppe. (abgesehn von den FremdKomponentenPackages)
Normal sind die Debuginfos in der DLL drin (TDS), aber ich probiere eh grade damit rum die TDS extern zu speichern (dann könnte selektiv debuggen, also z.B. von einigen Basispackages die TDS wieder löschen) Kopiert wird alles, also quasi "$(outputfile)*.*" ... drum würde ich ungern ins Test-Verzeichnis kompilieren, sondern ins saubere Setup-Verzeichnis. Die DebugInfos sollten ja in der EXE/DLL drin stecken, daher wird die Datei ja auch enorm größer, wenn man es aktiviert (Debug vs. Releae kompiliert). Und da die Dateien 100% identisch sind .......... :wall: Die RSM sollte eigentlich unnötig sein, denn normal wird sie ja auch nie benötigt (außer man nutzt den RemoteDebugger), aber da ich zukünftig die Dateien für den RemoteDebugger direkt erstellen und als ZIP ins Setup packen will, hab ich nun eh aktiviert. Wie gesagt, im Verzeichnis ist alles identisch, nur das einmal nicht von dort geladen wird, wohin kompiliert wurde. Ich versuche dann später mal eine kleine Testanwendung (je eine EXE + DLL) zu bauen. |
AW: Warum fehlen die DebugInfos? (Delphi 11.3)
Zitat:
Das habe ich seither auch bei einigen anderen, die damit Probleme hatten, geraten und es hat oft geholfen, auch bei 32 Bit Anwendungen. |
AW: Warum fehlen die DebugInfos? (Delphi 11.3)
Ich bin mir sicher ich hatte es auch schon probiert, wenn RSM mit daneben liegt, aber kann ja nochmal.
Zumindestens scheint D11 nun bissl besser mit DesignTimePackages zu können ... es entläd beim Kompilieren alle Forms, während XE noch abgeraucht ist, wenn man ein DesignPackage kompiliert, dadurch auch abhängige Packages entladen wurden, welche wiederrum Komponenten enthielten, die grade auf der Form lagen. Also selbst wenn Ausgabepfad und Debugpfad übereinstimmen: Ja, im XE mußten wir Packages auch immer erst im Delphi kompilieren, damit ein Debuggen möglich war. Aber da sind wir davon ausgegangen, dass es an schrottigen Settings und am eurekalog liegt. * FinalBuilder kompiliert über den ECC32, der den DCC32 startet und da auch noch bissl an den Settings rumpfuscht (so nach dem Motto: ich bin je hier, habe bessere Debuginfos, dann brauchst'e deine nicht mehr, also deaktiiere ich das mal) * im FinalBuilder für D10/11 lasse ich den Eurekalog im AfterBuild über die ferteige EXE/DLL/BPL laufen und nur noch seine Infos anhängen (seine Resource einfügen, die er aus der MAP generiert) * im Delphi hängt sich der blöde Eurekalog-Experte ans AfterBuildAll-Ereignis ... also nach dem AfterBuildScript und wenn mehrere Projekte kompiliert werden, dann erst nach ALLEN (echt blöd, wenn man da im AfterBuildScript was machen will, aber der Dreck noch nicht fertig war) * außerdem fehlt damit das Eurekalog, wenn man MSBUILD nutzt (weil Eurekalog vergessen hat sich dort reinzuhängen) * im FinalBuilder und D11, also in der DPROJ rufe ich jetzt den EurekaLog immer einheitlich im AfterBuildScript auf und hab die DesignTimePackages vom Eurekalog gesperrt -> somit sind/sollten die Kompilate vom Delphi und FinalBuilder+MSBUILD nun übereinstimmen |
AW: Warum fehlen die DebugInfos? (Delphi 11.3)
Liste der Anhänge anzeigen (Anzahl: 1)
Versucht als Testanwendungen nachzubauen
und da geht es :wall:
Nachfolgendes bezüglich dem lezten Commit (mit Umkopieren)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz