AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Herausfinden in welcherquellcodezeile programm ist
Thema durchsuchen
Ansicht
Themen-Optionen

Herausfinden in welcherquellcodezeile programm ist

Ein Thema von SirThornberry · begonnen am 26. Mai 2004 · letzter Beitrag vom 29. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

Herausfinden in welcherquellcodezeile programm ist

  Alt 26. Mai 2004, 17:44
Hallo und sorry wegen dem Betreff aber ich weiß nicht wie ich es besser beschreiben soll.

Nach ca. 48 Stunden dauertest hat sich mein Programm aufgehangen ohne eine Fehlermeldung. Ich hab den Verdacht das in irgend einer Schleife festhängt. Wie finde ich raus in welcher Zeile des Sources gerade ausgeführt wurde also an welcher Stelle das Programm derzeit hängt und eine endlosschleife ausführt? (ich kann nicht in jeder quellcodezeile einen haltepunkt setzen da dies ewig dauern würde bei den unmengen an Quellcode)

Bin am verzweifeln..
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#2

Re: Herausfinden in welcherquellcodezeile programm ist

  Alt 26. Mai 2004, 17:47
Hallo SirThornberry,

protokolliere doch einfach vor und nach der jeweiligen Schleife, dann merkst Du, wo das Programm hängen bleibt!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Herausfinden in welcherquellcodezeile programm ist

  Alt 26. Mai 2004, 17:48
Hm, kuck mal in der Hilfe nach Assert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Herausfinden in welcherquellcodezeile programm ist

  Alt 26. Mai 2004, 18:05
@r_kerber: Ich weiß ja absolut nicht wo das Programm hängt.
@Luckie & All: Ich dachte es gibt vielleicht irgend ein Debugwindow oder so mit dem ich das feststellen kann (eventuell Einzelschrittanweisung während das Programm läuft starten). Etwas in den Quelltexte einfügen ist schlecht weil der fehler ja wie erwähnt erst nach ca 48 Stunden auftrat und somit steht nicht fest das er in 48 stunden wieder auftritt. Ich habe das Programm immer noch im Debugger (Delphi IDE) laufen in der hoffnung das es noch eine möglichkeit gibt herauszufinden an welcher stelle das programm gerade hängt
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Herausfinden in welcherquellcodezeile programm ist

  Alt 26. Mai 2004, 18:09
Beobachte mal den Speicherverbrauch. Eventuell geht deinem Programm nur der Speicher aus, weil du irgenwelche Objekte nicht wieder frei gibst. Oder jag dein Programm mal durch MemProff oder wie das heißt, um speicherlecks zu finden.
Ein Speicherkiller ist es auch, wenn man ein dynamisches Array immer nur um ein element vergrößert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#6

Re: Herausfinden in welcherquellcodezeile programm ist

  Alt 26. Mai 2004, 18:10
Was passiert, wenn Du im Debuger das Programm anhältst? Dann sollte der Marker doch auf eine Zeile innerhalb der Endlosschleife zeigen, oder?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Herausfinden in welcherquellcodezeile programm ist

  Alt 26. Mai 2004, 18:12
@Luckie: Array hab ich gar keine also kanns daran nicht liegen. Und sonstige speicherlegs sollten auch nich da sein.
Speicherauslastung ist bei 5548 und Virtueller Speicher ist bei 24.120, ist also im üblichen Bereich (so wie beim start vor 2 Tagen)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Herausfinden in welcherquellcodezeile programm ist

  Alt 26. Mai 2004, 18:15
also wenn ich auf pause klicke kommt inzwischen "Delphi is allready stopping this process. This will terminate this process. OK CANCEL"
beim ersten klick auf diesen button kam keine solche Meldung aber auch kein haltepunkt an einer bestimmten stelle
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#9

Re: Herausfinden in welcherquellcodezeile programm ist

  Alt 27. Mai 2004, 11:14
ich sach nur jcl, die debug units sind lustig.

da komm dann solche logs raus:
Code:
Zugriffsverletzung bei Adresse 00403F7A in Modul 'faxmanager.exe'. Lesen von Adresse 454D414E.

Exception class: EAccessViolation
Exception address: 00403F7A
----------------------------------------------------------------------------------------------------
Stack list, generated 26.05.2004 13:36:44
[00403F7A] System.TObject.InheritsFrom + $2
[00404261] System.@HandleAnyException + $35
[0045662B] Controls.TControl.WndProc + $18B
[00403EEB] System.@IsClass + $13
[00447E8C] ExtCtrls.TImage.GetCanvas + $AC
[00447ED2] ExtCtrls.TImage.GetCanvas + $F2
[0050B531] u_Stempel.TStempel.CalcHeight (Line 117, "u_Stempel.pas" + 1) + $8
[0050B681] u_Stempel.TStempel.CalcHeight (Line 128, "u_Stempel.pas" + 12) + $31
[00421EBF] Classes.TStrings.SetTextStr + $B3
[0050C52F] u_Stempel.TStempel.SetText (Line 454, "u_Stempel.pas" + 4) + $0
[00552AB6] ufr_Bild.Tframe_Faxe.SaveStempelText (Line 778, "ufr_Bild.pas" + 3) + $0
[00552C9B] ufr_Bild.Tframe_Faxe.SaveStempelText (Line 798, "ufr_Bild.pas" + 23) + $28
[00404D34] System.@LStrFromPCharLen + $28
[00409927] SysUtils.Trim + $2F
[00554224] uf_stempeltool.Tfrm_stempeltoolwin.edt_TextExit (Line 158, "uf_stempeltool.pas" + 3) + $43
[00554242] uf_stempeltool.Tfrm_stempeltoolwin.edt_TextExit (Line 158, "uf_stempeltool.pas" + 3) + $61
[0045A497] Controls.TWinControl.DoExit + $1B
[0045AF5A] Controls.TWinControl.CMExit + $A
[0045662B] Controls.TControl.WndProc + $18B
[00459748] Controls.TWinControl.DefaultHandler + $DC
[0045A439] Controls.TWinControl.ResetIme + $89
[00459664] Controls.TWinControl.WndProc + $15C
[0045662B] Controls.TControl.WndProc + $18B
[004592DF] Controls.TWinControl.MainWndProc + $2F
[004592F7] Controls.TWinControl.MainWndProc + $47
[00429CCA] Classes.StdWndProc + $16
[0046D7D9] Forms.SendFocusMessage + $15
[00471C6C] Forms.TCustomForm.SetFocusedControl + $184
[00471D58] Forms.TCustomForm.SetFocusedControl + $270
[00459571] Controls.TWinControl.WndProc + $69
[0044050B] StdCtrls.TCustomCombo.WndProc + $107
[00441612] StdCtrls.TCustomComboBox.WndProc + $42
[004592DF] Controls.TWinControl.MainWndProc + $2F
[004592F7] Controls.TWinControl.MainWndProc + $47
[00429CCA] Classes.StdWndProc + $16
[00459748] Controls.TWinControl.DefaultHandler + $DC
[004568BC] Controls.TControl.WMLButtonDown + $18
[004415A3] StdCtrls.TCustomComboBox.WMLButtonDown + $4B
[0045662B] Controls.TControl.WndProc + $18B
[004594C8] Controls.TWinControl.IsControlMouseMsg + $54
[00459664] Controls.TWinControl.WndProc + $15C
[0044050B] StdCtrls.TCustomCombo.WndProc + $107
[00441612] StdCtrls.TCustomComboBox.WndProc + $42
[004592DF] Controls.TWinControl.MainWndProc + $2F
[004592F7] Controls.TWinControl.MainWndProc + $47
[00429CCA] Classes.StdWndProc + $16
[004768D0] Forms.TApplication.ProcessMessage + $88
[00476907] Forms.TApplication.HandleMessage + $F
[00476B27] Forms.TApplication.Run + $9B
[00476B6A] Forms.TApplication.Run + $DE
[00590FF2] FaxManager.FaxManager (Line 109, "E:\work\FaxManager2\FaxManager.dpr" + 44) + $0
[0059102C] FaxManager.FaxManager (Line 111, "E:\work\FaxManager2\FaxManager.dpr" + 46) + $2E
----------------------------------------------------------------------------------------------------
System  : Windows 2000 Professional, Version: 5.0, Build: 893, "Service Pack 4"
Processor: AMD, AMD Duron(tm) Processor, 850 MHz MMX
Display : 1024x768 pixels, 16 bpp
----------------------------------------------------------------------------------------------------
Active Controls hiearchy:
TComboBox "cbo_Stempel"
Tfrm_stempeltoolwin "frm_stempeltoolwin"
----------------------------------------------------------------------------------------------------
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#10

Re: Herausfinden in welcherquellcodezeile programm ist

  Alt 27. Mai 2004, 12:32
Was programmierst du denn?
Vielleicht hängst an den benutzten Components, evt. fehlerhafte units...
  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 13:38 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