Hilfe zur Selbsthilfe

Hilfe zur Selbsthilfe
combit GmbH
Untere Laube 30
78462 Konstanz
Whitepaper
Produkt: List & Label
Hilfe zur Selbsthilfe
 Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: List & Label
Hilfe zur Selbsthilfe
-2-
Inhalt
Einleitung
3
Vorgehensweise bei Fehlersuche
3
Service Pack-Aktualität prüfen
3
Service Pack ReadMe lesen
4
Online Knowledgebase durchsuchen
4
Log-Datei erstellen
5
Menübeschreibung von Debwin3
LOGGING
OPTIONS
TOOLBAR und TITELLEISTE
5
5
6
6
Erstellen einer Log-Datei auf einem lokalen Entwicklungs-PC
7
Erstellen einer Log-Datei bei Server-/Webapplikation
7
Log-Datei analysieren
8
Allgemeiner Aufbau einer Log-Datei
8
Header
8
Debug-Ausgaben
9
Fehlererkennung
9
Überprüfen von Rückgabewerten
Support kontaktieren
Dump erstellen
 Copyright combit GmbH, Alle Rechte vorbehalten.
10
10
11
Produkt: List & Label
Hilfe zur Selbsthilfe
-3-
Einleitung
Dieses Whitepaper soll Ihnen dabei helfen, Fehler und Probleme selbständig ausfindig zu machen und zu
beheben. Es gibt Ihnen Tipps wie Sie sich am besten bei einem auftretenden Problem verhalten, bei der
Suche vorgehen und in welcher Reihenfolge was zu tun ist. Wenn Sie dennoch den Support kontaktieren
müssen, hilft es Ihnen die ersten Vorbereitungen zu treffen, um dem Support so viele Informationen wie
möglich zu liefern.
Ein großes Augenmerk gilt dem sogenannten Debuggen. Debuggen bedeutet in unserem Fall Ihr Programm
bei der Ausführung live auf Fehler zu untersuchen. Dabei wird Ihnen das Programm "Debwin3" hilfreich zur
Seite stehen. Sie finden es im List & Label Installationsverzeichnis im Unterordner "Tools". Dieses Programm
protokolliert alle Vorgänge in einer einzigen Text-Datei, der sogenannten Log-Datei. Im Laufe dieses
Whitepapers erhalten Sie einen Einblick über den Aufbau und den Inhalt der Log-Datei. Ebenso wie Sie
Fehler in der selbigen schnellstmöglich ausfindig machen können.
Vorgehensweise bei Fehlersuche
Wenn ein Problem auftritt empfiehlt es sich eine bestimmte Reihenfolge bei der Fehlersuche einzuhalten.
Nachfolgend eine Auflistung der vorzunehmenden Schritte, eine Erklärung der einzelnen Schritte folgt im
Laufe des Whitepapers.
-
Service Pack-Aktualität prüfen
Service Pack ReadMe lesen
Online Knowledgebase durchsuchen
Log-Datei erstellen
Log-Datei analysieren
Support kontaktieren
Service Pack-Aktualität prüfen
Bitte überprüfen Sie als erstes, ob Sie die aktuellste Version von List & Label nutzen. Viele aufgetretene
Probleme, die uns die Benutzer/Entwickler melden, werden nach einer erfolgreichen Lokalisierung und
Behebung in den Service Packs gefixt. Daher empfiehlt es sich List & Label immer auf dem neuesten Stand
zu halten.
Die Version des genutzten Service Packs lässt sich auf zwei Arten feststellen. Zum einen über den Designer
und zum anderen über die Log-Datei. Auf Letzteres wird im weiteren Verlauf eingegangen.
Führen Sie im geöffneten Designer die Tastenkombination <STRG + UMSCHALT + F12> (CTRL + SHIFT +
F12) aus. In dem sich öffnenden Dialog können Sie Informationen über List & Label und Ihr System
entnehmen. Entscheidend hierbei ist die Versionsnummer. Unter "Version" sehen Sie Ihre momentane List &
Label Version mit Unterversion. Außerdem kann man erkennen, welche Module geladen werden.
Eine Übersicht der aktuellen Service Packs zu Ihren registrierten Produkten finden Sie auf unserer Homepage
unter folgendem Link:
http://www.combit.net/servicepacks.aspx
Zu jedem Service Pack auf der Homepage finden Sie eine ReadMe-Datei in Form eines PDF. In diesem
ReadMe sind alle Änderungen im Vergleich zur Vorgängerversion, nach betroffenen Modulen sortiert,
aufgelistet.
 Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: List & Label
Hilfe zur Selbsthilfe
-4-
Service Pack ReadMe lesen
ReadMes werden grundsätzlich in englischer Sprache verfasst. In ihnen sind neue Features, Änderungen und
behobene Probleme im Vergleich zu der vorherigen Version dokumentiert.
Schauen Sie sich also zuerst die ReadMe’s genau an. Eventuell ist Ihr Problem durch das Herunterladen und
Installieren eines Service Packs bereits schnell und einfach gelöst.
Online Knowledgebase durchsuchen
Wenn Sie bereits erahnen oder gar wissen was die Ursache Ihres Problems ist, können Sie auch unsere
kostenlose Online Knowledgebase zur Hilfe nehmen. Hier finden Sie Artikel mit Tipps oder Lösungen zu
bekannten und häufig auftretenden Problemen. Artikel wie "List & Label einbinden" oder "Barcodes:
Probleme bei der Darstellung" sind nur ein Bruchteil von dem was die Knowledgebase beinhaltet. Sie
gelangen entweder über das Suchformular oder die Kategorieauswahl schnell und ohne Umwege zu den
Artikeln. Zur Knowlegdebase gelangen Sie über folgenden Link:
http://www.combit.net/knowledgebase
 Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: List & Label
Hilfe zur Selbsthilfe
-5-
Log-Datei erstellen
Der nächste Schritt in Sachen Fehlersuche wäre die Erstellung einer Log-Datei. Fertigen Sie diese Log-Datei
mit dem Hilfsprogramm "Debwin3" an. Das Programm protokolliert alle Vorgänge vom Programmstart bis hin
zur Fertigstellung eines Druckjobs. Wenn während dieses Druckjobs ein Problem auftreten sollte, so wird
dieses von Debwin3 protokolliert. Debwin3 besitzt einen Zeilen-Ringpuffer, in dem nach Belieben vor- und
zurückgeblättert werden kann. Dies geschieht durch die üblichen Cursor-Tasten oder den Scrollbalken.
Menübeschreibung von Debwin3
LOGGING
Force Debug Mode:
Log to Window:
Log to File:
Clear Log Buffer and File:
Add Comment:
Copy to Clipboard:
Save to File:
Start Editor:
Diese Option forciert den Debug-Modus von Applikationen, d.h. der
Debug-Modus muss nicht zu Programmbeginn im Code über
"LlSetDebug()" aktiviert werden. Alle DLLs ab Version 15 werden
dies unterstützen. Der Default für diese Option ist "False" und der
Status der Option wird auch nicht gespeichert. Dieses Verhalten ist
so gewünscht, d.h. man muss diese Option jedes Mal bewusst neu
aktivieren. Bitte beachten Sie bei der Arbeit mit "Force Debug Mode"
folgende Vorgehensweise:
1. Debwin3 starten.
2. Die Option "Force Debug Mode" aktivieren.
3. Die Applikation starten und das Fehlverhalten erneut
provozieren.
(De-)aktiviert die Anzeige der Meldungen auf dem Bildschirm.
Diese Option bewirkt, dass alle zukünftigen Ausgaben an die LogDatei angehängt werden.
Löscht das Log und den Ringpuffer für die Bildschirmausgabe.
Hierüber kann ein Kommentar an die aktuelle Position eingefügt
werden.
Kopiert den gesamten Puffer in die Zwischenablage.
Öffnet einen Dateiauswahldialog, in dem Sie einen Dateinamen
wählen können.
Startet den konfigurierten Editor.
 Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: List & Label
Hilfe zur Selbsthilfe
-6-
OPTIONS
Window Options:
Debug Output Brings Debwin to Front:
Stay on Top:
Font:
Choose Editor:
Log OutputDebugString:
Debwin wird immer in den Vordergrund geholt, wenn neue
Ausgaben erfolgen.
Das Debwin-Fenster bleibt immer im Vordergrund.
Erlaubt die Wahl eines alternativen Fonts.
Erlaubt die Wahl eines alternativen Editors.
Zeichnet Ausgaben auf, die über die Windows API
"OutputDebugString" ausgegeben werden.
TOOLBAR und TITELLEISTE
Die Buttons verfügen über Tooltipps, die die jeweilige Funktion erklären. In der Titelleiste finden Sie eine
Pfadangabe, welche auf den Speicherort der Log-Datei verweist.
Erstellen einer Log-Datei auf einem lokalen Entwicklungs-PC
-
Schalten Sie den Debug-Modus zu Programmbeginn mit dem Aufruf der Funktion
"LlSetDebug()" ein (oder nutzen Sie die Option "Force Debug Mode").
 Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: List & Label
Hilfe zur Selbsthilfe
-
-
-7-
bei .NET:
"LL.Debug = LlDebug.Enabled;"
bei VCL:
"LL.Debug = 1;"
Starten Sie Debwin3 und stellen Sie sicher, dass das Logging in Debwin aktiviert ist (Optionen
"Log to Window" und "Log to File". Bitte achten Sie hier auf die Hinweise aus der
Programmierer-Referenz).
Starten Sie nun Ihre Applikation und führen Sie diese bis zum Auftreten des Problems aus
Die Debug-Ausgaben werden nun von Debwin3 verwertet und ausgegeben
Speichern Sie anschließend die Ausgaben mit "Save to File" ab
Die Erstellung der Log-Datei ist somit abgeschlossen
Erstellen einer Log-Datei bei Server-/Webapplikation
Sofern List & Label innerhalb eines Services verwendet wird, ist eine Ausgabe von Debug-Meldungen in
Debwin3 nicht mehr möglich, da dieser Service in einem anderen Benutzer-Kontext als die angezeigte
Workstation läuft.
Um dennoch Debug-Informationen zu erhalten, rufen Sie "LlSetDebug" bitte wie folgt auf:
LlSetDebug(LL_DEBUG_CMBTLL | LL_DEBUG_CMBTLL_LOGTOFILE)
Alle Debug-Ausgaben werden nun in die Datei "combit.log" im %APPDATA% (bis Version 13: Windows)Verzeichnis umgeleitet. Dieses Verzeichnis können Sie leicht anzeigen, indem Sie in einem Explorer-Fenster
%APPDATA% als Pfad eintippen. Beachten Sie, dass Sie zur Verwendung von List & Label in einem Service
entsprechende Serverlizenzen benötigen.
Das Pipe-Zeichen (|) bezeichnet den OR-Operator. Bitte setzen Sie den OR-Operator Ihrer
Programmiersprache ein.
Für die .NET-Assembly beachten Sie bitte die Hinweise im Debugging-Kapitel Ihrer Programmierer-Referenz!
Log-Datei analysieren
Allgemeiner Aufbau einer Log-Datei
Die mit Debwin3 erstellten Log-Dateien haben generell den gleichen Aufbau. Als erstes wird der sogenannte
"Header" erstellt. Diesem folgen die eigentlichen Debug-Ausgaben, welche die Funktionsaufrufe,
Rückgabewerte und eventuelle Fehlercodes enthalten.
Header
SysInfo of
: 24.07.2011 11:10:39
Application
: ???\COMBIT\LL??\LLDEMO32.EXE [??.000]
List & Label
: ???\COMBIT\LL??\REDIST...\CMLL??.DLL [??,0,0,0 (11-08-06 08:13)]
Serial number
: *********
LL flags
: USE_IDP,,DD(0),MCBS(disabled)
User and system name
: ***** on *****
Open jobs
: 1 (in this task)
System-
ACP, OEMCP, LIBCP
: 1252, 850, 1252
Informationen
Keyboard
: 00000407
Max. RTF version on system : 0401
OS version
: Windows NT 5.1, build 2600, Service Pack 3, Uniprocessor Free
 Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: List & Label
Hilfe zur Selbsthilfe
-8-
:Emulated OS: Windows XP (Professional), (Uniprocessor Free),
(x86-32 Processor) v5.1 Build:2600 Service Pack:3
: Underlying OS: Windows XP (Professional), (Terminal Services in
Remote Admin Mode), (Uniprocessor Free), (x86-32 Processor) v5.1
Build:2600 Service Pack:3
Temporaries
:
GetTempPath()
: C:\Dokumente und Einstellungen\????\Lokale Einstellungen\Temp\
(hard disk, 5970456 KB free), R/W check OK
Pfadangaben
env(TEMP)
: C:\DOKUME~1\???\LOKALE~1\Temp (hard disk, 5970456 KB free)
env(TMP)
: C:\DOKUME~1\???\LOKALE~1\Temp (hard disk, 5970456 KB free)
env(PATH)
: C:\WINDOWS\system32; C:\WINDOWS; C:\WINDOWS\System32\Wbem;
TEMP-Dateien
C:\Programme\Microsoft SQL Server\90\Tools\binn\
Printers
: PDFCreator: PDFCreator on PDFCreator:, Status 00000000
: Microsoft XPS Document Writer: Microsoft XPS Document Writer on XPSPort:,
Status 00000000
Vorhandene
: An OneNote 2007 senden: Send To Microsoft OneNote Driver on Send To
Drucker
Microsoft OneNote Port:, Status 00000000
Default printer
: PDFCreator
 eingerichteter Standard-Drucker
System-Informationen:
Angaben zu Ihrem System
Angaben zur List & Label-Version, Unterversion, Service Pack
Pfadangaben TEMP-Dateien:
Speicherort für temporäre Dateien beim Druck
Verfügbarer Speicherplatz auf Speicherpfad
Lese-/Schreibrechte Überprüfung (R/W check OK)
Vorhandene Drucker:
Auflistung aller auf dem System eingerichteter Drucker
Standard-Drucker:
Vom System verwendeter Standard-Drucker
Anhand dieser Header-Informationen können Sie nun auch Ihre aktuelle List & Label-Version in Erfahrung
bringen. Dieser Header sollte bei Log-Dateien für den Support immer enthalten sein.
Debug-Ausgaben
Wie bereits erwähnt folgen dem Header die eigentlichen Ausgaben. Eine solche Zeile könnte zum Beispiel so
aussehen:
CMLL?? : 09:44:34.372 000007f0 [MultiTab.exe] LlJobOpen(255)
LL-Modul
Timestamp
Thread-ID
LL-Modul
- Kennzeichnet das verantwortliche List & Label Modul
Timestamp
 Copyright combit GmbH, Alle Rechte vorbehalten.
Anwendung
Job/Auftrag
Produkt: List & Label
Hilfe zur Selbsthilfe
-
-9-
Gibt die Uhrzeit der Ausführung des Druckjobs zurück
Ist von Bedeutung, wenn bei der Ausführung des Druckjobs zum Beispiel eine unerklärliche Pause
von ca. 30 Sekunden gemacht wird, in denen nichts geschieht
D.h. um die Ursache zu finden, müssten Sie zuerst die Zeile ausfindig machen, bei der ein Zeitsprung
von 30 Sekunden ersichtlich ist
Thread-ID
- Kennzeichnet den Thread und hilft bei der Unterscheidung von verschiedenen Threads
Anwendung
- Benennt die ausgeführte Anwendung, hier ist es das List & Label Beispiel "MultiTab"
Job/Auftrag
- Kennzeichnet den aktuell ausgeführten Auftrag, hier ist es das Öffnen des Projektes
Fehlererkennung
Aufgetretene Fehler sind in der Log-Datei relativ einfach aufzuspüren. Jeder Fehler liefert einen negativen
Fehlercode zurück. Das heißt jeden Fehlercode ist ein "=-" vorangestellt. Sie gelangen am schnellsten zu
dem Fehler, in dem Sie die Log-Datei nach "=-" durchsuchen. Wichtig ist es darauf zu achten, den zuerst
aufgeführten Fehler ausfindig zu machen. Dieser kann auch Auslöser für andere, später auftretende Fehler
sein. Eine Übersicht aller Fehler finden Sie im Anhang der Programmierer-Referenz. Eine solche Fehlerzeile
könnte zum Beispiel so aussehen:
CMLL?? : 15:33:32.343 000009e8 =-12 (Während des Druckens ist ein Fehler aufgetreten.
Möglicherweise ist der Druckspooler überlastet, oder es ist kein Speicherplatz mehr vorhanden.
Abhilfe schafft meist auch die Einstellung des Direktdrucks ohne Spooler. Mögliche Ursache bei
Direktdruck: allgemeiner Druckerfehler, Papierstau.)
Ausschlaggebend ist hier die Ausgabe "=-12". Dieser Fehler wird von der "cmll??.dll" gemeldet. Des Weiteren
erkennt man den genauen Zeitpunkt des Auftretens und die zugehörige Thread-ID. In den runden Klammern
folgt eine Beschreibung des Fehlers.
Die Fehlercodes (-996), (-997) und (-998) sind nicht unbedingt als Fehler anzusehen. Diese dienen als
Hinweise.
CMLL?? : 09:44:38.370 000007f0 =-996 (Der Tabellenname hat sich geändert.)
Diese Meldung deutet darauf hin, dass sich der Tabellenname der zu druckenden Tabelle geändert hat.
CULL?? : 11:11:47.263 00000340 =-998 (Momentaner Datensatz passte nicht mehr auf die
Seite.)
Diese Meldung weist darauf hin, dass der momentane Datensatz nicht mehr auf die Seite passte. Dieser
Rückgabewert wird benötigt, um zu melden, dass eine neue Seite initialisiert werden muss und der
momentane Datensatz erneut geschickt werden muss.
CMLL?? : 09:48:23.389 00001c21 [MultiTab.exe] =-17 (Keine Vorschaudateien gefunden,
Datei ist beschädigt oder leer.)
Parameterfehler, Erklärung in der Klammer ist sehr aussagekräftig. Es ist ein Fehler beim Öffnen der
Vorschau aufgetreten.
 Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: List & Label
Hilfe zur Selbsthilfe
- 10 -
Überprüfen von Rückgabewerten
Nach jedem Aufruf einer Funktion empfiehlt es sich die Rückgabewerte zu überprüfen, um eine korrekte
Ausführung sicherstellen zu können.
Korrekte Funktionsausführungen liefern einen Wert von "0" zurück. Alle Rückgabewerte kleiner Null "-??"
deuten auf Fehler bzw. Hinweise hin.
Unter .NET werden statt der negativen Rückgabewerte Exceptions geworfen. Dies ermöglicht es Ihnen, alle
möglichen Fehler bequem in einem catch-Block abzufangen.
Support kontaktieren
Wenn Sie den Fehler selbst nicht ausfindig machen können und den Support kontaktieren müssen, ist es im
Sinne einer raschen Problemlösung ratsam, dem Support-Team so viele Informationen wie nur möglich zur
Verfügung zu stellen. Im Normalfall werden folgende Informationen (Dateien) benötigt:
1. Genaue Fehlerbeschreibung (Wo tritt der Fehler auf? Bei welchem Arbeitsschritt?). Unser OnlineFormular unterstützt Sie bei der Bereitstellung der wichtigsten Informationen. Zusätzlich kann
noch die Projektdatei (*.lst, *.lsr etc.) + Vorschau-Datei (*.ll) mitgeschickt werden, sofern das
Problem dort sichtbar ist.
und
2. Wenn Sie das Problem mit unserer "Beispielanwendung" (lldemo32.exe) reproduzieren können,
genügt die dort verwendete Druckvorlage (Projektdatei), damit der Support das Problem auch
nachvollziehen kann. Ansonsten ist ein lauffähiges und minimiertes Source Code Beispiel
notwendig. Sie können hierzu eines unserer vielen mitgelieferten Beispiele nutzen oder aber Sie
reduzieren Ihre Anwendung soweit, dass diese problemlos vom Support ausführbar ist.
Sollte dies nicht möglich sein, kann in manchen Fällen auch eine Log-Datei helfen:
3. Vollständige Log-Datei (mit vollständigen Header die den Druckverlauf bis hin zum
eigentlichen Problem zeigt)
Bei Abstürzen oder Exceptions kann auch Folgendes helfen.
4. Dump
Dump erstellen
Wenn Sie Microsoft Windows 7 verwenden kann ein Dump einfach über das Kontextmenü des Prozesses im
Task Manager erstellt werden.
Unter früheren Versionen von Windows kann das Dump mit Hilfe des Microsoft Debuggers WinDBG erstellt
werden. Unter dem nachfolgenden Link finden Sie eine Installationsanleitung wie man WinDBG auf einem
Entwickler-PC installieren kann. Bitte laden Sie die aktuelle Version (Current Release) herunter und
installieren diese.
http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx
 Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: List & Label
Hilfe zur Selbsthilfe
- 11 -
Starten Sie den Debugger und führen Sie Ihre Anwendung über "File > Open executable" aus (oder "File >
Attach to Process" wenn Ihre Anwendung bereits läuft). Drücken Sie dann bitte "F5" (oder "Debug > Go"). In
der Kommandzeile sollte jetzt "*busy*" stehen. Führen Sie jetzt bitte die Aktionen bis zum Auftreten des
Problems aus. Wenn die Exception auftritt, geben Sie ".dump /ma C:\temp\combit.dmp" in die
Debugger-Kommandozeile ein. Anschließend können Sie – vorherige Rücksprache ist unbedingt erforderlich die Dump-Datei an den Support senden. Sollte die Datei zu groß für einen Versand per eMail sein, können
Sie auch einen FTP-Account von dem Support-Team anfordern und die Datei auf den combit FTP-Server
laden.
Hinweis: combit macht keine Angaben zu einer bestimmten Eignung obiger Informationen. Irrtümer und Fehler bleiben ausdrücklich
vorbehalten, die Angaben erfolgen ohne Gewähr und enthalten keine Zusicherung. Die Informationen können z.T. auch ein Versuch
sein, Ihnen bei einer Aufgabenstellung zu helfen, selbst wenn das Produkt eigentlich nicht für diesen speziellen Zweck vorgesehen
wurde.
 Copyright combit GmbH, Alle Rechte vorbehalten.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement