To track down problems in an application built by Rational Software Architect RealTime Edition (RSARTE), it is often necessary to debug into the RT services library implementation. This article describes the steps to take to be able to debug the C++ implementation of the RT services library.
An RSARTE installation does not contain prebuilt debug configurations of the RT services library. Therefore, you have to start by building a debug configuration:
<RSARTE-install-dir>/rsa_rt/C++/TargetRTSfolder to a place where you have write access.
libsetfolder, locate an appropriate target configuration to modify to become a debug configuration. In this example, we use the
libset.mkand modify the variable LIBSETCCEXTRA to include the flag $(DEBUG_TAG). This variable expands to the debug compilation flag of the compiler. You might also want to remove any specified optimization flags.
srcfolder. This folder contains all source code for the RT services library and also makefiles and scripts for building it.
rtperl build.pl <configuration> <make tool> allwhere
<configuration>is the name of the target configuration to build (corresponds to a subfolder in the config folder, which should match the name of the libset subfolder you modified previously) and
<make tool>is the name of the make tool to use for building the library. For this example, the command line looks like this:
rtperl build.pl WinT.x64-VisualC++-15.0 nmake all
build-<configuration>that is created in the TargetRTS folder. For this example, it is called
build-WinT.x64-VisualC++-15.0. This folder contains all the object files and also the *.olist files that contain the names of all object files. The object files are archived together to create the two libraries, which are located in
main.mkto not use the *.olist files. For example, change
@ $(AR_CMD) $(LIBOUT_OPT) $(LIBOUT_TAG)"$@" "%A.olist"
@ $(AR_CMD) $(LIBOUT_OPT) $(LIBOUT_TAG)"$@" $(A_OBJECTS)