How to debug kernel DLLs?
Description:
Kithara RealTime Suite's tools provide the opportunity to load common DDLs directly to the kernel level. How to debug these DLLs?
Solution:
If you want to debug the DDL in the integrated debugger, the debug information has to be translated and afterwards it has loaded without any flag into the function KS_loadKernel.
Visual C++ - Version 6.0
- Set active project (right mouseclick: "Set as acitve project")
- Translate DLL with debug information ("Create" > "Set active configuration..." > select Win32-Debug")
- Select host application (Right mouseclick: "Settings" > "Debug" > Application + set parameter)
- Set BreakPoints in source code (Default: F9)
- Start debug session(Default: F5)
- If the integrated debugger comes into the source code, you can debug it step by step (Default: F7 or F8)
Borland C++Builder - Version 5.0
- Set active project (right mouseclick: "Set as acitve project")
- Transelate DLL with debug information (right mouseclick: "Options..." > "Compiler" > "Full-Debug")
- Select host application ("Start" > "Parameter..." > "Local" > Application + set parameter)
- Set BreakPoints in source code (Default: F5)
- Start debug session (Default: F9)
- If the integrated debugger comes into the source code, you can debug it step by step (Default: F10 or F11)
Comment:
If it is not necessary to debug in DDL anymore, the DDL has to be translated without debug information and afterwards it can be loaded to KS_loadKernel with the flag KSF_KERNEL_EXEC (Circle0 synchron) or KSF_USER_EXEC (Circle3 CallBack). If the debug information is still contained, undefined effects could be appear while loading.


