For this simple example, the sources can be found in our working directory. The gdb debugger provides its own shell; by default its prompt is (gdb). The following commands would be used to start the session. To reduce document clutter, we'll run the debugger in quiet mode:
# Working from the source directory: (61) con1 /home/allan/src >ntox86-gdb -quiet # Specifying the target IP address and the port # used by pdebug: (gdb) target qnx 10.428:8000 Remote debugging using 10.428:8000 0x0 in ?? () # Uploading the debug executable to the target: # (This can be a slow operation. If the executable # is large, you may prefer to build the executable # into your target image.) # Note that the file has to be in the target system's namespace, # so we can get the executable via a network filesystem, ftp, # or, if no filesystem is present, via the upload command. (gdb) upload hello /tmp/hello # Loading the symbolic debug information from the # current working directory: # (In this case, "hello" must reside on the host system.) (gdb) sym hello Reading symbols from hello...done. # Starting the program: (gdb) run /tmp/hello Starting program: /tmp/hello Trying to find symbol file for ldqnx.so.2 Retrying dynamic interpreter in libc.so.1 # Setting the breakpoint on main(): (gdb) break main Breakpoint 1 at 0x80483ae: file hello.c, line 8. # Allowing the program to continue to the breakpoint # found at main(): (gdb) c Continuing. Breakpoint 1, main () at hello.c:8 8 setprio (0,9); # Ready to start the debug session. (gdb)