AGB  ·  Datenschutz  ·  Impressum  







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

Standalone Exe vs. IDE+F9

Ein Thema von ISMIRSCHLECHT · begonnen am 23. Jan 2020 · letzter Beitrag vom 28. Jan 2020
Antwort Antwort
Seite 1 von 2  1 2      
ISMIRSCHLECHT

Registriert seit: 17. Dez 2018
Ort: Görlitz
69 Beiträge
 
#1

Standalone Exe vs. IDE+F9

  Alt 23. Jan 2020, 10:49
Hallo,

hier gleich das nächste "Feature" von Delphi 10.
Ich habe ein Programm , welches zwecks Zusammenarbeit mit einer C - dll diverse Buffer reservieren muß.
Starte ich das Programm aus der IDE, u.a. um zu debuggen, knallts, die Bufferlänge liegt bei ca 2^64, klar daß es dann abstürzt.
Aber wer beschreibt mein Erstaunen, als ich zufällig die Exe standalone startete und alles fubnktionierte !
Natürlich habe ich sogleich eine Release-Ausgabe kompiliert und aus der IDE zu starten versucht - rumms, krach...
Ist das jemandem schon mal passiert ?
Ist das ein Bug oder ein Feature, muß man in den Tiefen der Projekteigenschaften das Häkchen "Debugger bitte richtig rechnen" anhaken ?


Gruss
ism
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Standalone Exe vs. IDE+F9

  Alt 23. Jan 2020, 11:05
Hallo,
Zitat:
und alles fubnktionierte !
Definiere das mal genau.

Funktioniert das Programm komplett? Klappt also das Zusammenspiel mit der Dll?
Oder kommt bloss keine Fehlermeldung?


Ich denke, es gibt schon einen Unterschied zwischen
1. Starte Prozess separat (Exe ohne Debugger)
2. Starte Prozess als SubProzess mit Debugger-Einfluss.
Heiko
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Standalone Exe vs. IDE+F9

  Alt 23. Jan 2020, 11:36
Interessant wäre auch ob das auch auftritt wenn du deine Anwendung aus der IDE heraus, aber ohne Debugger startest. Vielleicht liegt es an Dingen wie übergebenen Umgebungsvariablen?
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Standalone Exe vs. IDE+F9

  Alt 23. Jan 2020, 12:55
Hast du auch dies versucht: Projekt > Optionen > Delphi Compiler > MSIBuild extern auf TRUE gesetzt?

Und wenn du in der IDE "wie gewohnt" debuggen willst, möchtest du eventuell auch noch Delphi Compiler > Linken > Mit externen Debug Symbolen auf TRUE setzen.
Michael Gasser
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Standalone Exe vs. IDE+F9

  Alt 23. Jan 2020, 13:34
Speicherfehler müssen nicht immer zu crashes führen.
Je nachdem wohin zufälligerweise etwas zeigt kracht es oder auch nicht.
Und es ist sehr wahrscheinlich bei dir das außerhalb der IDE zufälligerweise eine Speicherbereich überschrieben wird der (nicht gleich) andersweitig benutzt wird.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
ISMIRSCHLECHT

Registriert seit: 17. Dez 2018
Ort: Görlitz
69 Beiträge
 
#6

AW: Standalone Exe vs. IDE+F9

  Alt 23. Jan 2020, 14:50
Hallo,

also:
1. Das Programm macht alles richtig .
2. Wenn ich mit Shift-Ctrl-F9 sarte funktioniert es auch

Was das Programm macht wäre zu umständlich zu beschreiben, in typischer C-Manier (Manie) werden Bytefelder beschrieben.


ism
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Standalone Exe vs. IDE+F9

  Alt 23. Jan 2020, 17:15
Jetzt sehe ich erst -> 2^64 Bufferlänge

Was ist das für ein Komisches Konstrukt?
Gibts schon 128 Bit Compiler?

Was wollte der C-Entwickler damit erreichen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Standalone Exe vs. IDE+F9

  Alt 23. Jan 2020, 17:31
Hallo,
klammere doch erst mal den c-Ansprech-Code aus.
Versuch also, dass Programm erst mal so in der IDE zum Laufen zu bringen.
Heiko
  Mit Zitat antworten Zitat
ISMIRSCHLECHT

Registriert seit: 17. Dez 2018
Ort: Görlitz
69 Beiträge
 
#9

AW: Standalone Exe vs. IDE+F9

  Alt 27. Jan 2020, 11:12
Hallo,

natürlich läuft das Programm in der IDE, wenn ich den C-Ansprechcode auskommentiere.
Aber der soll ja in einer DLL die Arbeit machen.
Es geht um die WORM-DLL für die Swissbitt-TSE.

Code auszugswise :

Delphi-Quellcode:
Type TUnChar = array of Byte;

     PUnChar = ^TUnchar;

Var
  sernu : PUnChar ;

new(sernu);
setlength(sernu^ , 512) ;
// vor dem Aufruf ist die Länge von sernu^ noch 512
worm_info_tseSerialNumber(definer.WINF,
                          sernu ,
                          serlen);

// NACH dem Aufrum ist die Länge des Feldes plötzlich Null
Es sieht also so aus, als ob diese Dussel-DLL meinen Delphispeicher freigibt, so daß ich ihn nicht mehr ansprechen kann.
Hoch lebe die intersprachliche Zusammenarbeit
ism
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: Standalone Exe vs. IDE+F9

  Alt 27. Jan 2020, 11:32
Ich bin mir ziemlich sicher, es liegt nicht an der DLL. Denn ich glaube kaum, dass du der Erste bist, der sie benutzt. Der Fehler wäre bestimmt beim Testen und bei anderen Nutzern aufgefallen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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:22 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