AGB  ·  Datenschutz  ·  Impressum  







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

Extern Debuggen?

Ein Thema von ralfiii · begonnen am 27. Jul 2010 · letzter Beitrag vom 28. Jul 2010
Antwort Antwort
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#1

Extern Debuggen?

  Alt 27. Jul 2010, 16:51
Hallo!

Eine unserer Anwendungen friert manchmal ein.

Das Einfrieren ist reichlich schwer zu reproduzieren. Nun hat ein Kollege das erstmalig auf einem Testrechner unter Windows7 geschafft. Dort läuft also der Prozess und tut nix mehr. Nun würde ich gern irgendwie rausfinden wo die Anwendung gerade hängt (ein Methodenname wär ein Traum). Auf dem Rechner ist Delphi nicht installiert. Ich muss den Wurm also irgendwie anders lokalisieren.

Ich hab hier zum Probieren eine kleine App gebaut die sich in einer Endlosschleife aufhängt und wollte nun mit irgendwelchen Tools herausfinden wo der Bug sein könnte.

Der ProcessExplorer von SysInternals bietet wohl einen Callstack, aber die Infos die dort geboten werden sind ... sagen wir mal: kryptisch.

Hilfe!
Danke!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Extern Debuggen?

  Alt 27. Jul 2010, 16:56
Man könnte versuchen dort den Remote-Debugger zu installieren
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

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

AW: Extern Debuggen?

  Alt 27. Jul 2010, 17:12
Hallo,

warum loggst du die Aufrufe der Parameter nicht in einer Datei mit ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#4

AW: Extern Debuggen?

  Alt 28. Jul 2010, 10:04
warum loggst du die Aufrufe der Parameter nicht in einer Datei mit ?
Könnte ich die Anwendung ändern wär ja alles kein Problem, dann stopfe ich sie halt nach und nach mit Log-Messages voll, bis ich weiss wo es hakt.

Das ist aber nicht so.

Stell Dir vor du schreibst ein Programm und bei einem Kunden bleibt die Software GANZ SELTEN hängen.

Der Gedanke ist der: Man bittet den Kunden den Task nicht abzustechen wenn das Programm hängt. Und wenn's dann soweit ist geht man hin und versucht an dem Programm - das nicht speziell vorbereitet wurde - herauszufinden wo die Ausführung gerade hakt. Der Process Explorer sieht da schon vielversprechend aus, der liefert dir von einem beliebigen Programm den Call-Stack. Aber leider in einer dermassen blöden Form, dass man wieder nicht weiss was Sache ist.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#5

AW: Extern Debuggen?

  Alt 28. Jul 2010, 10:41
Vielleicht wäre dieses Buch für dich interessant: First Fault Software Problem Solving

Ohne zusätzliche Debuginformationen oder Logausgaben wirst du dich mit dem zufrieden geben müssen, was du hast. Du kannst nicht mehr Informationen herausholen als drin sind.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Extern Debuggen?

  Alt 28. Jul 2010, 11:29
Ohne zusätzliche Debuginformationen oder Logausgaben wirst du dich mit dem zufrieden geben müssen, was du hast. Du kannst nicht mehr Informationen herausholen als drin sind.
Es ist aber einiges da an Info.
Hier z.B. der Stack wie ihn der Process Monitor ausgibt.
Wär doch gelacht wenn man mit den Adressen nicht mehr anfangen könnte...
Angehängte Grafiken
Dateityp: png stack.png (12,9 KB, 29x aufgerufen)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

AW: Extern Debuggen?

  Alt 27. Jul 2010, 17:11
Du kannst es mal mit dem Dependency Walker versuchen.
Du lädst dein Programm und drückst dann auf F7 (=Start Profiling).
Das Programm startet deutlich langsamer, aber dafür bekommst du jede Menge Info.

Interessant wird's dann, wenn du in deinem Programm die Funktion MSDN-Library durchsuchenOutputDebugString() verwendest um überall Meldungen auszugeben.
Der Dependency Walker fängt diese auf und zeigt sie an.
Andreas
  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 12:43 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 by Thomas Breitkreuz