Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Následující ukázkový kód ukazuje, jak sledovat vstupy a výstupy funkce.
Nejprve přidejte definici makra WPP_CONTROL_GUIDS do zdrojového souboru nebo souboru záhlaví. Při definování příznaků trasování definujte příznak pro trasování funkcí, jak je znázorněno v následujícím příkladu:
#define WPP_CONTROL_GUIDS \
WPP_DEFINE_CONTROL_GUID(CtlGuid,(a044090f,3d9d,48cf,b7ee,9fb114702dc1), \
WPP_DEFINE_BIT(ERROR) \
WPP_DEFINE_BIT(Unusual) \
WPP_DEFINE_BIT(Noise) \
WPP_DEFINE_BIT(FuncTrace) )
Potom do stejného souboru přidejte konfigurační data pro zprávy trasování. Začněte konfigurační data příkazem begin_wpp config a ukončete je příkazem end_wpp. Pak přidejte definice pro makra, která podporují FuncTrace.
// begin_wpp config
// FUNC FuncEntry();
// FUNC FuncExit();
// USESUFFIX(FuncEntry, " Entry to %!FUNC!");
// USESUFFIX(FuncExit, " Exit from %!FUNC!");
// end_wpp
// Map the null flags used by Entry/Exit to a function called FuncTrace
#define WPP__ENABLED() WPP_LEVEL_ENABLED(FuncTrace)
#define WPP__LOGGER() WPP_LEVEL_LOGGER(FuncTrace)
Ve zdrojovém souboru ohraničte kód funkce voláními FuncEntry() a FuncExit().
#include "mytrace.h"
#include "entryexit.tmh"
void examplesub(int x)
{
FuncEntry();
// function code
FuncExit();
}
Například:
#include "mytrace.h"
#include "entryexit.tmh"
void examplesub(int x)
{
FuncEntry();
DoTraceMessage(Noise, "Value is %d",x);
FuncExit();
}
Pokud konfigurační data vložíte do souboru hlaviček, pomocí parametru -scan nasměrujte WPP na vyhledání konfiguračních dat v zadaném souboru. V tomto příkladu jsou konfigurační data v souboru mytrace.h.
RUN_WPP=$(SOURCES) -km -scan:mytrace.h
Poznámka Přepínač -km nesmíte zadat v direktivě RUN_WPP pro aplikace v uživatelském režimu nebo knihovny DLL (Dynamic-Link).
Úplný seznam volitelných parametrů pro RUN_WPP najdete v tématu Preprocesor WPP.