Header files
You can specify multiple header files on the command line either by separating the header files with a comma (with no spaces between the comma and the file names) or by specifying each one separately with the -I flag. The following two examples are equivalent:
probevue -I myheader.i,myheader2.i myscript.e
probevue -I myheader.i -I myheader2.i myscript.e
C++ header file can be included for struct/class definitions and allows a probevue script to access struct/class data fields through a pointer. All C++ header files can be listed using #include directives between ##C++ and ##Vue directive in the ProbeVue script. For using this option IBM C++ compiler must be installed on the system. Another option to include C++ header file is to first preprocess the C++ header file with –P option of probevue and then include the preprocessed file with –I option of probevue. With –P option probevue will generate the out file with same name as input C++ header file with a .Vue suffix.
The advantage of using –I option for preprocessed C++ header file is that IBM C++ compiler need not be installed on the system.
You can run the following command to preprocess C++ header file.
probevue –P myheader.h
The above command will generate a file called myheader.Vue. This file can be further shipped to another system and can be used to probe C++ application by including with –I option of probevue. While using the shipped preprocessed C++ header file the systems environment should be same for system being used for generating preprocessed C++ header file and system being used to include preprocessed header file with –I option of probevue for probing C++ application.
The C++ header file which is either being used for precompilation with –P option or being included between ##C++ and ##Vue should have .h extension for including standard Input/Output C++ header file. For including IOstream header use #include<iostream.h> instead of #include<iostream>.
You can run the following command for a C++ executable named cpp_executable and the script named myscript.e to probe the C++ application.
probevue –I myheader.Vue –X cpp_executable myscript.e