AGB  ·  Datenschutz  ·  Impressum  







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

Debugger-Exception

Ein Thema von H.Bothur · begonnen am 1. Jun 2017 · letzter Beitrag vom 2. Jun 2017
Antwort Antwort
Seite 1 von 2  1 2      
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
257 Beiträge
 
Delphi 11 Alexandria
 
#1

Debugger-Exception

  Alt 1. Jun 2017, 12:00
Moin,

beim verlassen meines Programmes (Schliessen durch X im Fensterrahmen) bekomme ich eine Exception der Klasse $C0000005.
Ich nehme an das das etwas mit der Mailroutine zu tun hat die ich nutze da ich das vorher nicht hatte.

Leider verstehe ich bei solchen Dingen aber nur Bahnhof und die Routine ist zugegebenermaßen Copy+Paste. Kann trotzdem jemand einmal kucken ob da noch etwas freigegeben werden muss.

Danke !!
Hans

Delphi-Quellcode:
function TUMailen.SendeMail(MailEmpfaenger, CCListe, Betreff, Anhang :string; Body :TStringList; MailAbsender, MailPasswort, MailServer: String; MailPort: Integer) : boolean;
var
  iAttachment : TIdAttachment;
  Erfolg: Boolean;

begin
  (* Connect mit Server *)
  UMailen.IdSMTP1.AuthType := satDefault; // simpler Login ohne Authentifizierung
  UMailen.IdSMTP1.Host := MailServer;
  UMailen.IdSMTP1.Port := MailPort;
  UMailen.IdSMTP1.UseTLS := utUseRequireTLS; // mit SSL -> Port dann in aller Regel 587
  UMailen.IdSMTP1.Username := MailAbsender; // Benutzername
  UMailen.IdSMTP1.Password := MailPasswort; // Passwort
  // Verbinden mit Server
  try
   UMailen.IdSMTP1.Connect;
  except
   on E: Exception do
    begin
       result := false;
       Application.MessageBox (PChar(E.Message),'Verbindungsfehler Connect !',MB_OK);
       UMailen.IdSMTP1.Disconnect;
       exit;
    end;
  end;

  (* Mail erstellen *)
  UMailen.IdMessage1.ContentType := 'multipart/*'; // mit Anhang!
  if Anhang <> 'then iAttachment := TIdAttachmentFile.Create(UMailen.IdMessage1.MessageParts, Anhang) ;
  UMailen.IdMessage1.Body.Assign(Body); // der eigentliche eMail -Text aus einem TMemo
  UMailen.IdMessage1.Priority := TIdMessagePriority(2); // Priorität
  UMailen.IdMessage1.Recipients.EMailAddresses := MailEmpfaenger; // Empfängeradresse
  UMailen.IdMessage1.ReplyTo.EMailAddresses := MailAbsender; // Anwortadresse
  UMailen.IdMessage1.From.Text := MailAbsender; // Absenderadresse
  UMailen.IdMessage1.Subject := Betreff;

  try
     UMailen.IdSMTP1.Send(UMailen.IdMessage1);

  except
    on E: Exception do
    begin
       result := false;
       Application.MessageBox (PChar(E.Message),'Verbindungsfehler Versand !',MB_OK);
       UMailen.IdSMTP1.Disconnect;
       exit;
    end;
  end;
  result := true;
end;
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Debugger-Exception

  Alt 1. Jun 2017, 12:36
Soweit ich das überblick wird TIdAttachmentFile zwar u.U. angelegt, aber nirgends freigegeben.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
257 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Debugger-Exception

  Alt 1. Jun 2017, 13:38
Soweit ich das überblick wird TIdAttachmentFile zwar u.U. angelegt, aber nirgends freigegeben.
Stimmt ... das kann es aber eigentlich nicht sein da bisher kein Anhang erstellt worden ist.
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
257 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Debugger-Exception

  Alt 1. Jun 2017, 13:53
Stop -es kann nicht an der Routine liegen - auch wenn ich die auskommentiere kommt die exception. Dann suche ich mal weiter

Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Debugger-Exception

  Alt 1. Jun 2017, 14:45
ERROR_ACCESS_DENIED (5) + severity code "Error" ($C000000) = STATUS_ACCESS_VIOLATION ($C0000005)
siehe Windows.pas { Error code definitions for the Win32 API functions } PS: bezüglich Copy&Paste
Man kann Fehlermeldungen auch kopieren und hier als Text einfügen, damit alle Infos hier landen.
Im Delphi-Logfenster oder bei allen Dialogen Strg+C und dann hier im Editor Strg+V

Tipp: In OnCloseQuery, OnClose oder OnDestroy einen Haltepunkt rein, das Fenster schließen und dann schrittweise durchgehn bis es kanllt.
Falls der Debugger hier wirklich nicht die richtige Fehlerstelle direkt anzeigt.
$2B or not $2B
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
257 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Debugger-Exception

  Alt 1. Jun 2017, 15:32
Danke für die Info .. und vor allem für den Tip. Im Moment werde ich gerade wahnsinnig - es knallt zur Zeit gar nicht.

Sobald es wieder passiert melde ich mich.

Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
257 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Debugger-Exception

  Alt 1. Jun 2017, 17:35
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt MahnProjekt.exe ist eine Exception der Klasse $C0000005 mit der Meldung 'access violation at 0x74e342b0: read of address 0x006f64d0' aufgetreten.

Wenn ich einen Haltepunkt in der FormClose setze dann geht er brav dahin und dann noch die ganze .dpr-Datei durch bin zum end.:

Delphi-Quellcode:
begin
  Application.Initialize;
  Application.CreateForm(TMahnForm, MahnForm);
  Application.CreateForm(TUKunden, UKunden);
  Application.CreateForm(TUKunden, UKunden);
  Application.CreateForm(TUDrucken, UDrucken);
  Application.CreateForm(TUProtokoll, UProtokoll);
  Application.CreateForm(TUMailen, UMailen);
  Application.Run;
end.
Mein Fehler irgendwo - ganz klar. Ich habe nur keine Ahnung wonach oder wo ich suchen sollte

Gruß
Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Debugger-Exception

  Alt 1. Jun 2017, 18:15
Nach diesem END. kommen nur noch die Finalization-Abschnitte aller eingebundenen Units.
Um dort zu Debuggen müsste man die Debuginfos der VCL und RTL aktivieren.
> Projektoptionen > Delphi-Compiler > Compilieren > Mit Debug-DCUs
Geht natürlich nur mit einem Delphi ab Professional, wegen der nötigen Quellcodes. (ansonsten bliebe nur noch der Spaß das im Assembler zu debuggen )

Ich würde erstmal auf die Units Forms, Controls, Graphics und SysUtils tippen (da ist das Meiste bezüglich VCL drin, was beim Beenden abgearbeitet wird)
Gut, dann hier den Haltepunkt auf's END (muß man davor ja nicht nochmal alles durchlaufen)
und dann ab da weiter.

Wenn die Code-Position $74e342b0 und Speicherposition $006f64d0 immer etwa gleich sind, wenn du es mehrmals versuchst, dann könnte man im OnClose oder spätestens beim END. mal an diesen Adressen nachsehen, was sich dort befindent.
Die Speicheradresse natürlich möglichst früh, so lange dort noch etwas existiert. Ich tippe mal darauf, dass an Adresse $006f64d0 nichts mehr existiert (nicht "mehr" zugewiesener Speicherbereich) und es deswegen dann knallt.

Bzw. auf oder kurz vor die Adresse $74e342b0 einen Haltepunkt legen. (im CPU-Fenster des Debuggers, also im Assembler)
Bevor es knallt, hat der Debugger meistens bessere Ergebnisse, beim Versuch den Stacktrace abzurufen.
$2B or not $2B

Geändert von himitsu ( 1. Jun 2017 um 18:20 Uhr)
  Mit Zitat antworten Zitat
hoika

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

AW: Debugger-Exception

  Alt 1. Jun 2017, 20:19
Hallo,
arbeitest du mit Interfaces?

Ich würde mal MadExcept nehmen und mit DebugDCUs einstellen.
Heiko
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
257 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Debugger-Exception

  Alt 1. Jun 2017, 22:54
Ok, das wird natürlich spannend - ich habe kein Prof. und kann daher den Source auch nicht debuggen.
Ich versuche morgen mal durch auskommender es der ganzen Mailunit ob das wirklich am mailen liegt.
Und dann sehen wir weiter ... vielleicht kann ich so feststellen warum es knallt.

Gruß
Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  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 22:43 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