GDB Symbols for Host Code Debugging#

Users can debug their PVA host applications using GDB with packaged symbol files. These symbol files contain obfuscated symbol names and can be used to symbolize call stacks, making debugging easier. This allows developers to provide NVIDIA with more informative stack traces, speeding up the analysis process.

Debug symbols are packaged separately and are installed as part of the debug-tools package.

sudo apt install pva-sdk-2.10-debug-tools

By default debug symbols are installed at /usr/lib/debug/.build-id/

Refer to “GNU Project Debugger” in DRIVE OS documentation for detailed GDB usage instructions.

Obfuscation#

Host symbols are obfuscated by default. You can share obfuscated stack traces with NVIDIA for analysis.

Sample backtrace with obfuscated symbols

0x00007ffff7f21eb8 in libcupva_host_native_a0f6fccce400ada498aa399653666df525822d69 () from /opt/nvidia/pva-sdk-2.10/lib/x86_64-linux-gnu/libcupva_host_native.so.2.10
(gdb) bt
#0  0x00007ffff7f21eb8 in libcupva_host_native_a0f6fccce400ada498aa399653666df525822d69 () from /opt/nvidia/pva-sdk-2.10/lib/x86_64-linux-gnu/libcupva_host_native.so.2.10
#1  0x00007ffff7ef0b1e in libcupva_host_native_17001ce429be0da7a643c80ed075739cee3db2ab () from /opt/nvidia/pva-sdk-2.10/lib/x86_64-linux-gnu/libcupva_host_native.so.2.10
#2  0x00007ffff7ef1ada in libcupva_host_native_def15e4c877d74331d3d16738c367bf350e9a5b9 () from /opt/nvidia/pva-sdk-2.10/lib/x86_64-linux-gnu/libcupva_host_native.so.2.10
#3  0x00007ffff7f36719 in cupva::Executable::Create(void const*, int) () from /opt/nvidia/pva-sdk-2.10/lib/x86_64-linux-gnu/libcupva_host_native.so.2.10
#4  0x0000555555708b80 in ?? ()