Through an IP connection, the IDE can debug, monitor, and profile programs as they run on the target.
To set up an IP connection, you must first connect the target and host machines to the same network, and ensure that TCP/IP
networking is functional on both machines. Then, you must configure your target as follows:
Launch the qconn agent on the target, from a command-line shell or the boot script.
By default, qconn runs on port 8000 (as indicated in its usage message).
You can use another port by explicitly stating it in the command, as in: qconn port=9000
For details on the arguments and semantics for this agent, see the
qconn entry in the
QNX Neutrino Utilities Reference.
To support application debugging, monitoring, and profiling, you must verify on the target that:
- qconn is running (use pidin | grep qconn);
this target agent must be listening on either an external port or a local port used with SSH tunnelling,
which is explained in the next section
- pdebug is in /usr/bin and has execute permissions
(qconn launches this service as required)
- the pseudo-terminal communications manager, devc-pty, is running
(use pidin | grep devc-pty)
At this point, you can
create a target connection in the IDE and specify
the target's IP address and the port where
qconn runs.
Then, you can select that new target connection in the launch bar to tell the IDE that you want to run a program on that
target machine. When you then launch a project, the IDE uses the configured IP link to upload the project's executable binary
to the target and to talk to
qconn and gather information about the program after it starts running.
CAUTION:
Don't run qconn in a production setting as part of the normal system setup.
The qconn utility is highly insecure because it doesn't do user validation and always runs as root,
which allows users to download and execute arbitrary code on the target.
You can use the utility temporarily (e.g., if you're running an analysis tool that needs to send data to the host)
by accessing the target machine through Telnet or SSH and starting qconn manually.
Or, you can secure qconn traffic using SSH, as explained below.