AGB  ·  Datenschutz  ·  Impressum  







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

Liste des Aufruf-Stack vergrößern

Ein Thema von NTcomputer_0 · begonnen am 18. Dez 2010 · letzter Beitrag vom 19. Dez 2010
Antwort Antwort
Benutzerbild von NTcomputer_0
NTcomputer_0

Registriert seit: 7. Feb 2009
29 Beiträge
 
Delphi 2005 Personal
 
#1

Liste des Aufruf-Stack vergrößern

  Alt 18. Dez 2010, 13:34
Derzeit beschäftige ich mich mit einem Problem, bei dem mein Programm "willkürlich" einfriert - ohne dass ich eine Ahnung habe, wo und woran es liegt. Leider befinden sich beim Debuggen nur 17 Elemente im Aufruf-Stack, die alle aus DLLs und nicht aus meinem Programm stammen - wie kann ich diese Liste "verlängern", bis ich sehe, welche Funktion MEINES Programms den Fehler verursacht?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Liste des Aufruf-Stack vergrößern

  Alt 18. Dez 2010, 13:38
Mir war so, als wenn da auch mehr angegezeigt werden könnten (abgesehn davon, daß 17 eine komische Zahl ist).

Schalte mal in den Projektoptionen "Stackframes immer erzeugen" ein ... eventuell gibt es ja einfach nur beim 18. Prozeduraufruf (Frame) ein Problem, mit dem Auslesen.

Das hat allerdings nur Einfluß auf dein Programm und nicht auf die DLL, in welcher das Problem ebenfalls liegen kann.
Wenn die DLL von dir ist, dann debugge mal diese, anstatt die EXE.

Und wenn alles nichts hillf, dann kannst du dich immernoch langsam, über Haltepunkte und F7, sowie F8, an die Fehlerstelle ranarbeiten,
bzw. du baust ein Logging-System in dein Programm ein, wo du mitloggst, welche Programmstellen noch erfolgreich abgearbeitet wurden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (18. Dez 2010 um 13:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von NTcomputer_0
NTcomputer_0

Registriert seit: 7. Feb 2009
29 Beiträge
 
Delphi 2005 Personal
 
#3

AW: Liste des Aufruf-Stack vergrößern

  Alt 18. Dez 2010, 14:13
Danke für die Ideen! Die Option Stackframes erzeugen bringt leider keine Änderung. Die DLL ist nicht von mir (sind außerdem mehrere, das Programm stoppt zuletzt bei WaitForSingleObject aus ntdll und kernel32). Werde wohl ein einfaches Loggingsystem einbauen müssen, das mir in Stringliste abgearbeitete Befehle anzeigt, da der Fehler mitunter erst nach Minuten in einer Schleife auftritt.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Liste des Aufruf-Stack vergrößern

  Alt 18. Dez 2010, 14:35
...das Programm stoppt zuletzt bei WaitForSingleObject aus ntdll und kernel32...
Also wenn es bei WaitForSingleObject stehenbleibt, klingt das für mich noch völlig in Ordnung.
Dafür ist die Funktion schliesslich da.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von NTcomputer_0
NTcomputer_0

Registriert seit: 7. Feb 2009
29 Beiträge
 
Delphi 2005 Personal
 
#5

AW: Liste des Aufruf-Stack vergrößern

  Alt 18. Dez 2010, 15:10
ich weiß. Genau das ist das merkwürdige, die Funktion kehrt aber nie zurück, und wird von mir auch nicht explizit aufgerufen.
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#6

AW: Liste des Aufruf-Stack vergrößern

  Alt 19. Dez 2010, 21:34
Ja wie wirds denn aufgerufen? mit INFINITE? Dann wirst du wohl nen DeadLock im Programm haben.
  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 05:57 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