pdebug

Updated: May 06, 2022

Process-level debugger

Syntax:

pdebug [-1aeflsv] [-n priority_levels] device

Runs on:

QNX Neutrino

Options:

-1
(“One”) Exit pdebug after the debugging session is done.
-a
(QNX Neutrino 6.6 or later) Don't disable address space layout randomization (ASLR). The default is to disable it.
-e
Echo the debugged program's stdin back to the host.
-f
Run pdebug as a foreground process.
-l
(“el”) By default, pdebug sets the LD_BIND_NOW to 1 to force all binding to be done immediately instead of lazily. To permit lazy binding, specify the -l option. For more information, see Optimizing the runtime linker in the Compiling and Debugging chapter of the QNX Neutrino Programmer's Guide. In QNX Neutrino 7.0 or later, immediate binding is the default.
-n priority_levels
Be nice; set the debugged program's priority to be priority_levels lower than pdebug's. Doing this can keep pdebug from becoming unresponsive if the debugged process misbehaves (e.g. looping in a tight loop taking lots of CPU time).
-s
Notify the host only of signals caused by faults.
-v
Be verbose.
device
The device to use for the remote debug protocol; one of:
-
Use stdout / stdin.
/device_name[,baud]
Open and use the specified device, such as /dev/ser1, optionally setting the baud rate.
number
Accept connections on TCP/IP port number.

Description:

This utility provides access to process-level debugging from a remote host, including from the IDE. To use pdebug, you need to run devc-pty on the target machine (i.e. the machine being debugged).

Examples:

For a 57600 baud serial connection on /dev/ser2:

pdebug /dev/ser2,57600 &

For a TCP/IP connection on port 8000:

pdebug 8000 &