Debugging RTDLLs

You can debug an application that uses RTDLLs. An RTDLL is a Real-Time Dynamic Linked Library. It is similar to a Windows DLL, so it can be debugged within the Visual Studio instance that is debugging your application.

For overview and setup information on the Real-Time Debugger, see Debugging Applications in the RTSS Environment.

To debug an RTDLL, you must now have a solution with two projects: a project that will create an RTDLL and a project that will create an RTSS process that will use the RTDLL. The program that will use the DLL should start when debugging begins.

NOTE:  Data breakpoints are not supported.

To debug a program and RTDLL:

  1. Make sure IntervalZero Real-Time Debugger is selected as the debugger. Note that this debugger is automatically selected when the RTSSDebug configuration of the project is selected.
  2. Rebuild your RTSS application and RTDLL using the RTSSDebug configuration.
  3. Register the RTDLL with the Subsystem using RtssRun with the /d flag. For more information, see RtssRun Usage.
  4. Add breakpoints to your code.
  5. To start debugging, select Start Debugging from the Debug pull-down menu, or press the F5 key.

  1. At the first breakpoint after LoadLibrary has been called in the RTSS application, open the Modules Debug Window. If symbols are not loaded for your RTDLL, right-click the RTDLL and select Load Symbols from the pull-down menu.

NOTE:  If Modules is not available from the status bar, select Modules from the Windows option in the Debug pull-down menu to open the modules window.

  1. If necessary, locate the symbol file in the directory where the binaries were built.

The Output window should now indicate that symbols are loaded.

  1. While debugging, you can select to Set Breakpoints, Step Into, Step Over, Step Out, Continue or to Stop Debugging from the Debug pull-down menu.  If you select Continue, program execution will continue until it completes or reaches another breakpoint. If you select Stop, program execution will halt.

For a more comprehensive example of debugging a RTDLL, see MiniTutorial: Debugging Applications in Visual Studio.

Related Topics:

MiniTutorials:

IntervalZero.com | Support | Give Feedback