Freigeben über


DbgLockTrace-Funktion

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Aktiviert oder deaktiviert die Debugprotokollierung eines bestimmten kritischen Abschnitts.

Syntax

void WINAPI DbgLockTrace(
   CCritSec *pcCrit,
   BOOL     fTrace
);

Parameter

pcCrit

Zeiger auf einen kritischen CCritSec-Abschnitt .

fTrace

Wert, der angibt, ob die Protokollierung aktiviert ist. Verwenden Sie TRUE , um die Protokollierung zu aktivieren, oder FALSE , um sie zu deaktivieren.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Bemerkungen

Verwenden Sie diese Funktion, um einen bestimmten kritischen Abschnitt nachzuverfolgen. Standardmäßig ist die Debugprotokollierung kritischer Abschnitte aufgrund der großen Anzahl kritischer Abschnitte deaktiviert.

Führen Sie zum Nachverfolgen eines kritischen Abschnitts die folgenden Schritte aus:

  1. Definieren Sie DEBUG oder _DEBUG, bevor Sie die DirectShow-Header einschließen.
  2. Aktivieren Sie die Debugprotokollierung für kritische Abschnitte, indem Sie DbgSetModuleLevel mit dem flag LOG_LOCKING aufrufen.
  3. Rufen Sie DbgLockTrace für den kritischen Abschnitt auf, den Sie nachverfolgen möchten.

In Einzelhandelsbuilds hat die DbgLockTrace-Funktion keine Auswirkungen.

Beispiele

Im folgenden Codebeispiel wird das Nachverfolgen eines kritischen Abschnitts veranschaulicht.

DbgInitialise(g_hInst);
DbgSetModuleLevel(LOG_LOCKING, 3);

{
    CCritSec MyLock;
    DbgLockTrace(&MyLock, TRUE);
    
    CAutoLock cObjectLock(&MyLock);

    // Protected section of code.    
    DbgOutString("This code is inside a critical section.\n");

} // Lock goes out of scope here.

DbgTerminate();

Anforderungen

Anforderung Wert
Header
Wxutil.h (Streams.h einschließen)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

Debuggen von Funktionen im kritischen Abschnitt