Open topic with navigation
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:
- 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.
- Rebuild your RTSS application and RTDLL using the RTSSDebug configuration.
- Register the RTDLL with the Subsystem using RtssRun with the /d flag. For more information, see RtssRun Usage.
- Add breakpoints to your code.
- To start debugging, select Start Debugging from the Debug pull-down menu, or press the F5 key.
- 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.
- If necessary, locate the symbol file in the directory where the binaries were built.
The Output window should now indicate that symbols are loaded.
- 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.