The macro debugging features are supported for +objdebug and +noobjdebug compiler options.

14.9.2 Examples for Macro Debugging

The following example illustrates the use of the macro debugging:

Sample Program:

$ cat scope.c 1

2 #include <stdio.h>

3

4 #define USED1 100

5 #define USED2 200

6 #define UNUSED1 0

7 #define UNUSED2 0

8 #define DUMMY1

9 #define DUMMY2

10

11int

12main ()

13{

14

15 int val = USED1;

16

17 #undef UNUSED1

18 #undef USED2

19 #undef USED1

20 #define USED1 101

21 #define USED2 201

22

23 val = USED1 + USED2;

24

25 #undef USED1

26 #undef UNUSED2

27 #undef USED2

28 #define USED1 102

29

30 val = USED1;

31

32 return 0;

33 }

Sample Debugging Session

The following debugging session illustrates macro debugging when the program is com- piled with +macro_debug=all option:

$ cc -g +macro_debug=all -o sc scope.c $ gdb sc

HP gdb for HP Itanium (32 or 64 bit) and target HP-UX 11.2x. Copyright 1986 - 2001 Free Software Foundation, Inc.

...

14.9 Debugging Macros 155