CLion Debugging: Difference between revisions
(Created page with "This guide will help with setting up CLion for remote debugging through dcload's GDB feature. == Setup == The following criteria must be met before following this guide: *...") |
(→Setup) |
||
Line 6: | Line 6: | ||
* The specific project must be [[Dreamcast_CMake_Project_In_CLion|setup within CLion]] | * The specific project must be [[Dreamcast_CMake_Project_In_CLion|setup within CLion]] | ||
* A working version of [[dcload-ip]] or [[dcload-serial]] must be available on the host system | * A working version of [[dcload-ip]] or [[dcload-serial]] must be available on the host system | ||
* The target Dreamcast will need either a [[Broadband adapter]], [[LAN adapter]], or a [[Coder's | * The target Dreamcast will need either a [[Broadband adapter]], [[LAN adapter]], or a [[Coder's cable]] (USB or serial cable) connected | ||
* SSH must be configured for remote logins on the host system | * SSH must be configured for remote logins on the host system | ||
Revision as of 20:58, 6 January 2023
This guide will help with setting up CLion for remote debugging through dcload's GDB feature.
Setup
The following criteria must be met before following this guide:
- The specific project must be setup within CLion
- A working version of dcload-ip or dcload-serial must be available on the host system
- The target Dreamcast will need either a Broadband adapter, LAN adapter, or a Coder's cable (USB or serial cable) connected
- SSH must be configured for remote logins on the host system
Creating a debug configuration
After opening your project in CLion, click the dropdown for the current debug/run configuration and select "Edit Configurations...":
In the configuration editor window, select the + icon to create a new configuration and select "Remote GDB Debugger":
Remote GDB Server Settings
Now that the new configuration has been created, the specific settings can now be populated to enable remote debugging sessions.
Setup SSH credentials
CLion handles setting up and running the remote GDB server instance. Unfortunately, it requires running the executable through SSH which means CLion will have to "remotely" login to the same computer to run the dcload session. Once the host system is configured for SSH access, it's as simple as creating a new set of credentials within the debug configuration setup window to allow CLion to access your computer over SSH.
First, select the settings cog beside Credentials in the debug configuration:
Create a new set of credentials using the + button and fill in the information to be able to remotely connect to the host system:
If dcload will be run from the same system, it should be enough to enter "localhost" as the host and then fill in the user credentials for the user account on the host system. Using the "Test Connection" button should be an indication of whether the host system or credentials have been setup correctly. After saving the new SSH credentials, select them from the "Credentials" dropdown in the debug configuration page.
GDB Configuration Settings
Use the following settings in the debug configuration page:
- Name: Dreamcast Debug IP/Serial (really, it's up to the user)
- Target: Your project
- Executable: Your executable for your project
- GDB: Bundled GDB (This can handle SH-4 executables)
- Credentials: The credentials created in the previous section
- Upload Executable: Never
- 'target remote' args: localhost:2159 (default port for dcload's GDB instance)
- GDB Server: /path/to/dc-tool-[ip|serial]
- GDB Server args: -g -x $CMakeCurrentBuildDir$/<your executable name>.elf -c $CMakeProjectDir$ -t <IP address or /dev/tty device>
- -g: Starts dcload with GDB
- -x: Uploads and executes your binary
- -c: Points dcload to your project directory to be able to load files with "/pc/" (requires superuser)
- -t: The device dcload should target
- Advanced GDB Server Options
- Run with root privileges: Checked
Once all settings have been configured, click "Apply" and the configuration should be ready.