void |
EValue::TraceExA( |
char |
*pszObjetEValueName = NULL ); |
void |
EValue::TraceExW( |
wchar_t |
*pszObjetEValueName = NULL); |
void |
EValue::TraceEx( |
TCHAR |
*pszObjetEValueName = NULL ); |
Ces fonctions affichent les informations étendues de l'objet. En plus des informations affichées par la fonction Trace, elle ajoute le contenu de la variable membre m_tValue au format décimal signé, non signé, hexadécimal et binaire.
Le premier prototype est à utiliser si l'on désire forcer l'utilisation de la fonction dans sa version Ascii, le second pour sa version Unicode.
Le troisième prototype utilise soit le format ASCII soit le format Unicode. Si votre projet est configuré pour utiliser le format ASCII, la chaîne de caractères pszObjetEValueName sera au format ASCII (char*), par contre si votre projet est configuré pour utiliser le format Unicode, la chaîne de caractères sera au format Unicode (wchar_t*).
Pour pouvoir utiliser cette fonction vous devez avoir activé l'objet ETrace et l'objet EDivers de la librairie Eclat.
char *pszObjetEValueName = NULL
ou
wchar_t *pszObjetEValueName = NULL
nom de l'objet EValue sous la forme d'une chaîne de caractères Ascii ou Unicode.
Il sert à plus facilement situer les informations relatives d'un objet parmi tous les traçages affichés dans la fenêtre de sortie du débugueur.
Si cette information ne vous intéresse pas cet argument peut être NULL (la fonction ne retournera pas d'erreur à ce propos).
|
Description :
Instancier un objet EValue (eValue0) de type uchar initialisé avec la valeur 100 (1100100),
Instancier un objet EValue (eValue1) de type ushort initialisé avec la valeur 32200 (01111101 11001000),
Instancier un objet EValue (eValue2) de type ulong initialisé avec la valeur 2000000000 (01110111 00110101 10010100 00000000),
Instancier un objet EValue (eValue3) de type ulonglong initialisé avec la valeur 9000000000000000000 (01111100 11100110 01101100 01010000 11100010 10000100 00000000 00000000),
Traçage étendu en mode ASCII ou Unicode (suivant la configuration du projet) de l'objet eValue0 sans communication de nom,
Traçage étendu en mode ASCII de l'objet eValue1 avec communication d'un nom au format ASCII,
Traçage étendu en mode Unicode de l'objet eValue2 avec communication d'un nom au format Unicode,
Traçage étendu en mode ASCII ou Unicode (suivant la configuration du projet) de l'objet eValue3 avec communication d'un nom au format soit ASCII soit Unicode (suivant la configuration du projet).
|
Code :
EValue <uchar> eValue0 ( 100 );
EValue <ushort> eValue1( 32200 );
EValue <ulong> eValue2( 2000000000 );
EValue <ulonglong> eValue3( 9000000000000000000 );
eValue0.TraceEx();
eValue1.TraceExA( "eValue1" );
eValue2.TraceExW( L"eValue2" );
eValue3.TraceEx( _T("eValue3") );
|
Sortie :
### Object EValue Trace #
# Object address='0x0012F483', size of='1' byte(s) ('8' bits).
# Value:
# Decimal='100'(signed) '100'(unsigned), Hexadecimal='0x64'.
# Binary = 01100100
# Equal. = ========
# Bit pos= 76543210
### End #
### Object EValue 'eValue1' Trace #
# Object address='0x0012F474', size of='2' byte(s) ('16' bits).
# Value:
# Decimal='32200'(signed) '32200'(unsigned), Hexadecimal='0x7DC8'.
# Binary = 01111101 11001000
# Equal. = ======== ========
# Bit pos= FEDCBA98 76543210
### End #
### Object EValue 'eValue2' Trace #
# Object address='0x0012F468', size of='4' byte(s) ('32' bits).
# Value:
# Decimal='2000000000'(signed) '2000000000'(unsigned), Hexadecimal='0x77359400'.
# Binary = 01110111 00110101 10010100 00000000
# Equal. = ======== ======== ======== ========
# Pos maj= 11111111 11111111 00000000 00000000
# Pos min= FEDCBA98 76543210 FEDCBA98 76543210
### End #
### Object EValue 'eValue3' Trace #
# Object address='0x0012F458', size of='8' byte(s) ('64' bits).
# Value:
# Decimal='9000000000000000000'(signed) '9000000000000000000'(unsigned), Hexadecimal='0x7CE66C50E2840000'.
# Binary = 01111100 11100110 01101100 01010000 11100010 10000100 00000000 00000000
# Equal. = ======== ======== ======== ======== ======== ======== ======== ========
# Pos maj= 33333333 33333333 22222222 22222222 11111111 11111111 00000000 00000000
# Pos min= FEDCBA98 76543210 FEDCBA98 76543210 FEDCBA98 76543210 FEDCBA98 76543210
### End #
|
Vue :
Vue de eValue0 :
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
Champs de bits
|
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
Valeur originale |
Vue de eValue1 :
0F |
0E |
0D |
0C |
0B |
0A |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
Champs de bits
|
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
Valeur originale |
Vue de eValue2 :
0F |
0E |
0D |
0C |
0B |
0A |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
Champs de bits
|
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Valeur originale |
1F |
1E |
1D |
1C |
1B |
1A |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
Champs de bits
|
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
Valeur originale |
Vue de eValue2 :
0F |
0E |
0D |
0C |
0B |
0A |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
Champs de bits
|
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Valeur originale |
1F |
1E |
1D |
1C |
1B |
1A |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
Champs de bits
|
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
Valeur originale |
Vue de eValue3 :
0F |
0E |
0D |
0C |
0B |
0A |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
Champs de bits
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Valeur originale |
1F |
1E |
1D |
1C |
1B |
1A |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
Champs de bits
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
Valeur originale |
2F |
2E |
2D |
2C |
2B |
2A |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
Champs de bits
|
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
Valeur originale |
3F |
3E |
3D |
3C |
3B |
3A |
39 |
38 |
37 |
36 |
35 |
34 |
33 |
32 |
31 |
30 |
Champs de bits
|
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
Valeur originale |
|
Version |
1.0.0 |
Objet inter-connectable |
ETrace v 1.0.0 |
Objet inter-connectable |
EDivers v 1.0.0 |