Run lte-softmodem via gdb and vscode
See cmake_targets/gdb.txt for notes
This commit is contained in:
Vendored
+8
-4
@@ -4,18 +4,22 @@
|
|||||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"configurations": [
|
"configurations": [
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "(gdb) Launch",
|
"name": "(gdb) Launch",
|
||||||
"type": "cppdbg",
|
"type": "cppdbg",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"program": "enter program name, for example ${workspaceFolder}/a.exe",
|
"program": "${workspaceFolder}/cmake_targets/ran_build/build/lte-softmodem",
|
||||||
"args": [],
|
"args": [
|
||||||
|
"-O", "../ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf",
|
||||||
|
"--noS1"
|
||||||
|
],
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
"cwd": "${workspaceFolder}",
|
"cwd": "${workspaceFolder}/cmake_targets",
|
||||||
"environment": [],
|
"environment": [],
|
||||||
"externalConsole": false,
|
"externalConsole": false,
|
||||||
"MIMode": "gdb",
|
"MIMode": "gdb",
|
||||||
"miDebuggerPath": "/path/to/gdb",
|
"miDebuggerPath": "${workspaceFolder}/cmake_targets/sudo-gdb",
|
||||||
"setupCommands": [
|
"setupCommands": [
|
||||||
{
|
{
|
||||||
"description": "Enable pretty-printing for gdb",
|
"description": "Enable pretty-printing for gdb",
|
||||||
|
|||||||
Executable
+13
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
cd "$(dirname "$0")/.." || exit
|
||||||
|
source oaienv
|
||||||
|
cd cmake_targets || exit
|
||||||
|
|
||||||
|
cmd=(
|
||||||
|
./ran_build/build/lte-softmodem
|
||||||
|
-O ../ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf
|
||||||
|
--noS1
|
||||||
|
"$@"
|
||||||
|
)
|
||||||
|
|
||||||
|
exec sudo -E gdb "$@" --args "${cmd[@]}"
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
Make sure you've built with debug info:
|
||||||
|
|
||||||
|
cd ~/openairinterface5g # or wherever
|
||||||
|
source oaienv
|
||||||
|
cd cmake_targets
|
||||||
|
./build_oai --UE --eNB --verbose-compile --run-with-gdb RelWithDebInfo
|
||||||
|
make -C ran_build/build -j4 lte-softmodem lte-uesoftmodem
|
||||||
|
|
||||||
|
Verify the build was done correctly:
|
||||||
|
|
||||||
|
$ ./gdb-helper
|
||||||
|
...
|
||||||
|
Reading symbols from ./ran_build/build/lte-softmodem...done.
|
||||||
|
(gdb) b main
|
||||||
|
Breakpoint 1 at 0x59f110: file /local/episys/openairinterface5g/targets/RT/USER/lte-softmodem.c, line 516.
|
||||||
|
(gdb) run
|
||||||
|
Starting program: /local/episys/openairinterface5g/cmake_targets/ran_build/build/lte-softmodem -O ../ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf --noS1
|
||||||
|
[Thread debugging using libthread_db enabled]
|
||||||
|
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
|
||||||
|
|
||||||
|
Breakpoint 1, main (argc=4, argv=0x7fffffffe058) at /local/episys/openairinterface5g/targets/RT/USER/lte-softmodem.c:516
|
||||||
|
516 {
|
||||||
|
(gdb) list
|
||||||
|
511 pthread_mutex_unlock(&nfapi_sync_mutex);
|
||||||
|
512 printf( "NFAPI: got sync (%s)\n", thread_name);
|
||||||
|
513 }
|
||||||
|
514
|
||||||
|
515 int main ( int argc, char **argv )
|
||||||
|
516 {
|
||||||
|
517 struct sched_param param =
|
||||||
|
518 {
|
||||||
|
519 .sched_priority = 79
|
||||||
|
520 };
|
||||||
|
(gdb) n
|
||||||
|
521 if (sched_setscheduler( 0, SCHED_RR, ¶m ) == -1 )
|
||||||
|
(gdb) quit
|
||||||
|
A debugging session is active.
|
||||||
|
|
||||||
|
Inferior 1 [process 19964] will be killed.
|
||||||
|
|
||||||
|
Quit anyway? (y or n) y
|
||||||
|
$
|
||||||
|
|
||||||
|
If gdb says "no debugging symbols found" then clean your workspace and re-do
|
||||||
|
the build as above.
|
||||||
|
|
||||||
|
(gdb) b main
|
||||||
|
|
||||||
|
Using Vscode
|
||||||
|
|
||||||
|
cd ~/openairinterface5g # or wherever
|
||||||
|
code . targets/RT/USER/lte-softmodem.c .vscode/launch.json
|
||||||
|
|
||||||
|
See launch.json for details about how lte-softmodem is launched.
|
||||||
Executable
+6
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Helper script for Vscode. See .vscode/launch.json "miDebuggerPath"
|
||||||
|
cd "$(dirname "$0")/.." || exit
|
||||||
|
source oaienv
|
||||||
|
cd cmake_targets || exit
|
||||||
|
exec sudo -E gdb "$@"
|
||||||
Reference in New Issue
Block a user