DbgLockTrace
特定のクリティカル セクションのデバッグ ロギングを有効または無効にする。
構文
void WINAPI DbgLockTrace(
CCritSec *pcCrit,
BOOL fTrace
);
パラメータ
pcCrit
CCritSec クリティカル セクションへのポインタ。
fTrace
ロギングを有効にするかどうかを指定する値。ロギングを有効にするには TRUE を使い、ロギングを無効にするには FALSE を使う。
注意
この関数を使って特定のクリティカル セクションをトレースする。デフォルトでは、クリティカル セクションでのデバッグ ロギングは無効である。クリティカル セクションの数が非常に多いためである。
クリティカル セクションをトレースするには、次のステップを実行する:
- DirectShow ヘッダーをインクルードする前に DEBUG または _DEBUG を定義する。
- DbgSetModuleLevel を LOG_LOCKING フラグで呼び出してクリティカル セクションのデバッグ ロギングを有効にする。
- トレースするクリティカル セクションで DbgLockTrace を呼び出す。
リテール ビルドでは、DbgLockTrace 関数は効力を持たない。
サンプル コード
次のサンプル コードは、クリティカル セクションのトレース方法を示している。
DbgInitialise(g_hInst);
DbgSetModuleLevel(LOG_LOCKING, 3);
{
CCritSec MyLock;
DbgLockTrace(&MyLock, TRUE);
CAutoLock cObjectLock(&MyLock);
// コードの保護された部分。
DbgOutString("This code is inside a critical section.\n");
} // ロックはここで解除される。
DbgTerminate();
デバッグ出力例 :
Example.exe(tid 360) 2012 : Thread 864 now owns lock 12fc2c
This code is inside a critical section.
Example.exe(tid 360) 4887 : Thread 864 releasing lock 12fc2c
参照