Printing values in DEBUG mode in C++

By: Emiley J Emailed: 1600 times Printed: 2051 times    

Latest comments
By: rohit kumar - how this program is work
By: Kirti - Hi..thx for the hadoop in
By: Spijker - I have altered the code a
By: ali mohammed - why we use the java in ne
By: ali mohammed - why we use the java in ne
By: mizhelle - when I exported the data
By: raul - no output as well, i'm ge
By: Rajesh - thanx very much...
By: Suindu De - Suppose we are executing

In addition to asserting that something is true using the assert() macro, you may want to print the current value of pointers, variables, and strings. This can be very helpful in checking your assumptions about the progress of your program, and in locating off-by-one bugs in loops. Listing below illustrates this idea.

Printing values in DEBUG mode.

1:     // Printing values in DEBUG mode
2:     #include <iostream.h>
3:     #define DEBUG
5:     #ifndef DEBUG
6:     #define PRINT(x)
7:     #else
8:     #define PRINT(x) \
9:        cout << #x << ":\t" << x << endl;
10:    #endif
12:    enum BOOL { FALSE, TRUE } ;
14:    int main()
15:    {
16:       int x = 5;
17:       long y = 73898l;
18:       PRINT(x);
19:       for (int i = 0; i < x; i++)
20:       {
21:          PRINT(i);
22:       }
24:       PRINT (y);
25:       PRINT("Hi.");
26:       int *px = &x;
27:       PRINT(px);
28:       PRINT (*px);
29:     return 0;
30: }

Output: x:      5
i:      0
i:      1
i:      2
i:      3
i:      4
y:      73898
"Hi.":  Hi.
px:       0x2100 (You may receive a value other than 0x2100)
*px:    5

Analysis: The macro on lines 5-10 provides printing of the current value of the supplied parameter. Note that the first thing fed to cout is the stringized version of the parameter; that is, if you pass in x, cout receives "x".

Next, cout receives the quoted string ":\t", which prints a colon and then a tab. Third, cout receives the value of the parameter (x), and then finally, endl, which writes a new line and flushes the buffer.

C++ Home | All C++ Tutorials | Latest C++ Tutorials

Sponsored Links

If this tutorial doesn't answer your question, or you have a specific question, just ask an expert here. Post your question to get a direct answer.

Bookmark and Share


1. View Comment

It'z to hard to study a computer programming.but i realize that no one of other courses can offer this difficult program.......i wish i can study more......

View Tutorial          By: christine idio at 2009-10-20 02:06:58

Your name (required):

Your email(required, will not be shown to the public):

Your sites URL (optional):

Your comments:

More Tutorials by Emiley J
Password must include both numeric and alphabetic characters - Magento
What is Hadoop?
Returning multiple values from a web service
Tomcat and httpd configured in port 8080 and 80
Java Webservices using Netbeans and Tomcat
Java WebService connected to Database
How to Deploy a Java Web Service
Call a webservice in Java
Java WebService - Create your first web service in Java
package javax.jws does not exist
Getting Started with Android
HTML5 Location - getCurrentPosition() in HTML5
HTML5 Canvas - Using Canvas in HTML5
HTML5 - Introduction
HTML5 Video - Handling video in HTML5

More Tutorials in C++
Two-Dimensional Array Manipulation in C++
Calculate average using Two-Dimensional Array in C++
Compute the square root of the sum of the squares of an array in C++
Matrix using nested for loops in C++
Sorting an array of Strings in C++
Calculating total based on the given quantity and price in C++
Compiling and Linking Multiple Source Files in C++
Enumerations in C++
Program to add two numbers in C++
Comments in C++
while loop in C++
for loop in C++
Programming errors a compiler will detect in C++
if in C++
Using the Built-in Arithmetic Types in C++

More Latest News
Most Viewed Articles (in C++ )
Using cout.width() in C++
C++ Recursion function explained using Fibonacci series
Advanced if Statements in C++
Demonstrating global and local variables in C++
Dot (.) vs Arrow (->) to access data members in C++
C++ Destructors Versus Java Finalization
strlen() sample program in C++
Printing values in DEBUG mode in C++
Implementing Pure Virtual Functions in C++
Character String Literals in C++
C++ keywords
Difference between Procedural, Structured, and Object-Oriented Programming
Using Comments in a C++ Program
How to use Enumerated constants in C++
Tutorial on Inline Implementation in C++
Most Emailed Articles (in C++)
Specifying default values to function parameters in C++
Nested Loops in C++
The Stack and the Free Store in C++
Calculating total based on the given quantity and price in C++
Constructors and Destructors in C++
Dot (.) vs Arrow (->) to access data members in C++
Operator Precedence in C++
qsort() sample program in C++
Getting User Input Using cin in C++
Using command-line arguments in C++
Programming errors a compiler will detect in C++
C++ keywords
Matrix using nested for loops in C++
Use of Conditional (Ternary) Operator in C++
Tutorial on Classes and Members in C++