Sprung zum Seitenende Struktur Themen A...Z Titel << >>

CXI-Basis-Programmierreferenz / Version 2 / Datenaustausch / Ebene 2 / Message Trace /

CXIBDTRC.CPP - Message Trace (DOS)

[Icon] [DOS] CXIBDTRC.CPP

Um die Ablaufverfolgung unter DOS zu aktivieren, binden Sie die Datei CXIBDTRC.CPP in das Projekt ein.

Die Datei CXIBDTRC.INI (CXI-Format) oder der [MSGTRC]-Abschnitt der Standard-INI-Datei enthält Einstellungen für den Trace, der Standardwert ist jeweils angegeben.

Filename (Str) = "c:\cximsg.trc"
Geben Sie hier den Namen der Datei an, in die CXIBDTRC den Trace schreiben soll. Die Datei wird automatisch angelegt, wenn sie nicht existiert.

BrowseFilename (Str) = ""
Wenn Sie hier einen Dateinamen eingeben, schreibt CXIBDTRC Informationen für den Browser in diese Datei.

Ignores (Str) = "PROTOCOL;@TRACE"
Meldungen, die von einem in dieser Variablen angegebenen Handler verschickt oder empfangen werden, werden nicht in die Tracedatei aufgenommen. Trennen Sie mehrere Namen mit Semikolons.

Excludes (Str) = "@Dummy;@WaitState;OLDACTION=@WaitState"
Meldungen, die eine Variable ACTION enthalten, wobei ACTION einen der Werte in dieser Variablen besitzt, werden nicht in die Tracedatei aufgenommen. Trennen Sie mehrere Werte mit Semikolons.

Includes (Str) = ""
Meldungen, die eine Variable ACTION enthalten, wobei ACTION einen der Werte in dieser Variablen besitzt, werden auf jeden Fall in die Tracedatei aufgenommen. Trennen Sie mehrere Werte mit Semikolons.

Options (Str) = "AIRED"
Jeder Buchstabe in dieser Variablen hat eine eigene Bedeutung. Geben Sie den jeweiligen Buchstaben an, um die Option einzuschalten. Zum Ausschalten der Option entfernen Sie den Buchstaben:

Option 'A'
Geben Sie hier an, wie mit Meldungen verfahren werden soll, die nicht unter die Ein- und Ausschluss-Bedingungen in den Variablen 'Includes' und 'Excludes' fallen. Ist diese Option angegeben, werden solche Meldungen in den Trace aufgenommen, ansonsten nicht.

Option 'I'
Ist diese Option angegeben, können Sie während des Trace eigene Informationen in die Tracedatei einfügen. Diese Möglichkeit kann unter DOS nicht genutzt werden.

Option 'N'
Geben Sie diese Option an, um Systemmitteilungen (z.B. Konstruktor- und Destruktoraufrufe) in den Trace aufzunehmen.

Option 'R'
Benutzen Sie diese Option, um den Inhalt aller empfangenen Meldungen in die Tracedatei aufzunehmen.

Option 'E'
Benutzen Sie diese Option, um den Inhalt aller versendeten und nicht empfangenen Meldungen in die Tracedatei aufzunehmen (unzustellbare Meldungen).

Option 'D'
Benutzen Sie diese Option, um die ab Version 2.02 vom CXI-System selbst generierten Meldungen in den Trace aufzunehmen, z.B. '@DRIVER'-Meldungen an Treiber. Die Version 2.01 ignoriert diese Einstellung.

Soll eine andere Datei als CXIBDTRC.INI für die Einstellungen benutzt werden, so setzen Sie diesen Namen (ggf. mit Pfadangabe) vor dem Start des Programms in die Umgebungsvariable CXIBDTRC, z.B.

SET CXIBDTRC=C:\TRACE\CXIBDTRC.PRM

CXIBDTRC.CPP

// cximsgtd.cpp

#include <stdio.h>
#include <stdlib.h>

#include "cxi.h"

extern const char cximsgtdversionstr [] =
  "@$VERSION=CXIBDTRC 2.04 05: BC++, " __DATE__ ", " __TIME__;

static void begintrace (void)
{
  CxiNode def;
  def.SetVarsFromString ("Filename=c:\\cximsg.trc;Ignores='PROTOCOL;@TRACE';"
     "Excludes='@Dummy;@WaitState;OLDACTION=@WaitState';Options=AIRED;");

  char *ininame = getenv ("CXIBDTRC");
  CxiNode tmp;
  CxiError rc = tmp.ReadBlockFromFile (ininame ? ininame : "cximsgtd.ini");
  if (rc == cxiNoError)
    def.MergeFrom (tmp, cxiOptMergeReplace);

  cxiMessageTraceStart (def);

  printf ("\nCXIBDTRC - The CXI message trace for DOS\n"
          "Tracing into file \"%s\"!\7\n", def.GetItem ("Filename"));
}

static void endtrace (void)
{
  cxiMessageTraceStop ();
  printf ("\nCXIBDTRC - The CXI message trace for DOS\n"
          "Trace terminated!\7\n");
}

#pragma startup  begintrace   28
#pragma exit     endtrace     28

// Ende

ACHTUNG: Um Platz zu sparen, enthalten die erstellten Dateien TAB-Zeichen. Es wird mit dem TAB-Abstand 8 gearbeitet (Standardeinstellung DOS/BIOS).

Verwenden Sie unter DOS die Funktion QueryRevisionString(), um interne Revisionsinformationen zu erhalten.

Portabilität:
Die Datei CXIBDTRC.CPP ist nur unter DOS einsetzbar und ab Version 2.03 verfügbar.

Siehe auch:
CXIBWTRC.EXE (Windows)
CXIBOTRC.EXE (OS/2)
Funktion Handler2 mit Beispielprogramm


[i] CXI-Basis-Programmierreferenz
Version 2.10 72 (1014-001), erstellt am 15. April 2000
Textseite 337 von 855, Thema 8533 (CXIBDTRCCPP)
[c] Copyright (c) 1996-2000 by TeraConnect GmbH

Sprung zum Seitenanfang Struktur Themen A...Z Titel << >>