AGB  ·  Datenschutz  ·  Impressum  







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

StackTrace vs Code

Ein Thema von hyype · begonnen am 19. Jan 2014 · letzter Beitrag vom 21. Jan 2014
Antwort Antwort
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.916 Beiträge
 
Delphi 12 Athens
 
#1

AW: StackTrace vs Code

  Alt 19. Jan 2014, 14:41
Wenn du den Stacktrace und den Code zu der dort geloggten Methode posten würdest, könnten wir dir vielleicht auch direkt dabei helfen.
Wenn du das nicht öffentlich posten willst, kannst du es mir auch gern per PN schicken.

Sollte es wirklich ein Problem im Speicher sein, sprich überschriebener Speicher oder ähnliches, wäre FastMM sicher hilfreich. Das zeigt im FullDebugMode (einstellbar in der beiliegenden .inc Datei) dann bei Tests auch direkt z.B. Zugriffe auf freigegebene Objekte an, auch wenn es dabei sonst zufällig nicht direkt knallen würde.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#2

AW: StackTrace vs Code

  Alt 20. Jan 2014, 16:21
Hallo,

die Prüfungen zu aktivieren war eine gute Idee, mit eingeschalteten Prüfungen hat das Programm keine 10s überlebt. ^^
Fehler war wie folgt:

Delphi-Quellcode:

var b : byte;
    ab : array[1..1400] of byte;
    i : integer;



  b := 0;
  for i := 1 to 1400 do
    b := b + ab[i];
Keine Ahnung, ob das böse Auswirkungen haben kann.
Nach Ausbau gab es keine Fehler mehr, das Programm lief, hat aber nicht mehr gemacht, was es sollte.
Mit deaktivierten Prüfungen hat es wieder gemacht, was es sollte.
Schade, hätte es gern mit aktivierten Prüfungen ein wenig laufen lassen.
FastMM habe ich noch nicht herangezogen.

@jaenicke:
Glaub mir bitte, dass der Code dir nicht hilft, die Fehler müssen woanders sitzen.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: StackTrace vs Code

  Alt 20. Jan 2014, 16:36
Das ist aber ungewöhnlich, 1400 Bytes in einem Byte zu addieren, das schreit ja geradezu nach Nebeneffekten.

versuch es mal so;

Delphi-Quellcode:

btemp:integer;

for i:=1 to 1400 do
  btemp:=btemp+ab[i];
btemp:=btemp and FF;
b:=btemp;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#4

AW: StackTrace vs Code

  Alt 20. Jan 2014, 20:00
die Lösung war noch besser:
die Stelle komplett ausgebaut, da das aufaddierte byte am Ende für nichts verwendet wurde.. ^^
  Mit Zitat antworten Zitat
hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#5

AW: StackTrace vs Code

  Alt 20. Jan 2014, 23:11
Stacktrace:
(00005C68){blub.exe} [00406C68] System.TObject.InheritsFrom$qqrp17System.TMetaClas s (Line 13646, "System.pas" + 6) + $0
(0010B8FF){blub.exe} [0050C8FF] Vcl.ExtCtrls.Extctrls.TTimer.Timer$qqrv (Line 3056, "Vcl.ExtCtrls.pas" + 1) + $E
(0005A19C){blub.exe} [0045B19C] System.Classes.StdWndProc$qqsp6HWND__uiuiui + $14
(000279D0){blub.exe} [004289D0] System.SysUtils.Sysutils.ShowException$qqrp14Syste m.TObjectpv (Line 19109, "System.SysUtils.pas" + 15) + $15
(00028648){blub.exe} [00429648] System.SysUtils.Sysutils.ExceptHandler$qqrp14Syste m.TObjectpv (Line 19571, "System.SysUtils.pas" + 0) + $0

Stacktrace:
(00005C62){blub.exe} [00406C62] System.TObject.InheritsFrom$qqrp17System.TMetaClas s (Line 13642, "System.pas" + 2) + $0
(0010B8FF){blub.exe} [0050C8FF] Vcl.ExtCtrls.Extctrls.TTimer.Timer$qqrv (Line 3056, "Vcl.ExtCtrls.pas" + 1) + $E
(0005A19C){blub.exe} [0045B19C] System.Classes.StdWndProc$qqsp6HWND__uiuiui + $14

Ideen? ^^
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: StackTrace vs Code

  Alt 20. Jan 2014, 23:32
Ja, warum hast du das nicht in Code-Tags gesetzt, und was soll uns das sagen?
Wird das jetzt heiteres StackTrace-Rätselraten?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.916 Beiträge
 
Delphi 12 Athens
 
#7

AW: StackTrace vs Code

  Alt 21. Jan 2014, 06:36
Stacktrace:
Das sind die falschen Teile des Stacktraces. Dort passiert der Fehler nicht, jedenfalls nicht bei dir im Code. Beim ersten könnte es evtl. ein Timer bei dir sein, in dem das passiert.
Und das Inherits könnte in der Tat auf ein defektes Objekt hindeuten, wenn darin eine Schutzverletzung passiert.

Dann sieht das nach einem mehrfach freigegebenen Objekt aus. Da sollte aber wie geschrieben FastMM helfen.

Man muss dabei aber genau schauen, ob die Einträge alle zueinander passen, da es bei einem Fehler schon mal passiert, dass der Stack zerschossen ist. Eine Regel gilt meistens:
Wenn der oberste Eintrag zum eigenen Programm gehört, könnte das Problem dort liegen, sonst eher an der ersten eigenen Codestelle im Stacktrace.

Es kann aber auch passieren, dass da Einträge drin sind, die eigentlich nicht dort hingehören usw., deshalb ist das manchmal etwas fummelig.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#8

AW: StackTrace vs Code

  Alt 21. Jan 2014, 08:59
der geloggt StackTrace bestand nur aus diesen Aufrufen, er enthielt keinerlei eigenen Code
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:14 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