kdserver
QVM guest dump/kernel dump server
Syntax:
kdserver [-v] [kdumper_file]
Runs on:
QNX OS
Option:
- -v
- Be verbose.
Description:
The kdserver utility can run on your development host system. You can use it with GDB to parse and examine a core dump file.
In a QNX hypervisor system, if you specify the dump option in a VM's configuration (*.qvmconf file), you can send a SIGUSR2 signal to the qvm process instance and have it produce a dump file for the guest (*.gcore) hosted in that qvm process instance (see the QNX Hypervisor user documentation).
You can then copy the file to your development host system, and use GDB along with kdserver to examine the ELF64 dump file for your guest:
- On your development host, start GDB:
where arch is the architecture, either ntoaarch64-gdb for AArch64, or ntox86_64-gdb for x86-64, and symfile is procnto-* for QNX OS or vmlinux-* or vmlinuz-* for Linux or Android.ntoarch-gdb symfile
For example, the following command starts GDB on an x86-64 Linux system:
Note the name of the binary, vmlinuz-* (not vmlinux-*); the 'z' denotes a compressed Linux kernel, which gdb uncompresses.$ ntox86_64-gdb vmlinuz-3.13.0-77-generic GNU gdb (qnx800-gdb-14.2-release-14-g37860f) 14.2 [...] This GDB was configured as "--host=x86_64-pc-linux-gnu --target=x86_64-pc-nto-qnx8.0.0". [...] BFD: .../tmp/qvm_linux_guest/linux-3.14.54/vmlinuz-3.13.0-77-generic: \ warning: ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .bss Reading symbols from vmlinux-3.13.0-77-generic...(no debugging symbols found)...done.
- At the GDB prompt, point kdserver to your guest dump file:
where dumpfile is the path on your development host to the guest dump file you want to examine.gdb> target remote | kdserver dumpfile
For more information about using GDB with QNX OS, see the entry for gdb. For more information about GDB, see https://www.gnu.org/software/gdb/documentation/.