cs01 / cs01/gdbgui

Issue reading symbols while running remote ARM gdb session

Open
#389 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
10.4k
Forks
521
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**
I am trying to use gdbgui with TeensyDebug, a gdb stub for the Teensy SBC: https://github.com/ftrias/TeensyDebug

When I run with gdbgui rather than gdb, gdbgui is not able to read the symbols from the executable.

***Running under commandline gdb:***

Command:

```
/opt/arduino-1.8.13/hardware/tools/arm/bin/arm-none-eabi-gdb /tmp/arduino_build_637692/Test_Teensy.ino.elf
```

gdb session:

```
$ /opt/arduino-1.8.13/hardware/tools/arm/bin/arm-none-eabi-gdb /tmp/arduino_build_637692/Test_Teensy.ino.elf
GNU gdb (GNU Tools for ARM Embedded Processors) 7.10.1.20160923-cvs
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-linux-gnu --target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /tmp/arduino_build_637692/Test_Teensy.ino.elf...done.
(gdb) target remote /dev/ttyACM1
Remote debugging using /dev/ttyACM1
setup_main () at /home/luke/Arduino/Test_Teensy/Test_Teensy.ino:81
81 Serial.printf(F("Initializing\n"));
(gdb) quit
```

***Running under gdbgui:***

Commandline:

```
gdbgui --debug -g /opt/arduino-1.8.13/hardware/tools/arm/bin/arm-none-eabi-gdb --args /tmp/arduino_build_637692/Test_Teensy.ino.elf
```

First pane:

```
running command: /opt/arduino-1.8.13/hardware/tools/arm/bin/arm-none-eabi-gdb

Exception ignored in:
Traceback (most recent call last):
File "/usr/lib64/python3.9/threading.py", line 1490, in _after_fork
thread._reset_internal_locks(True)
File "/usr/lib64/python3.9/threading.py", line 827, in _reset_internal_locks
self._started._at_fork_reinit()
File "/usr/lib64/python3.9/threading.py", line 527, in _at_fork_reinit
self._cond._at_fork_reinit()
File "/usr/lib64/python3.9/threading.py", line 253, in _at_fork_reinit
self._lock._at_fork_reinit()
AttributeError: 'Semaphore' object has no attribute '_at_fork_reinit'
GNU gdb (GNU Tools for ARM Embedded Processors) 7.10.1.20160923-cvs
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-linux-gnu --target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Undefined command: "new-ui". Try "help".
(gdb) target remote /dev/ttyACM1
Remote debugging using /dev/ttyACM1
Register 25 is not available
0x00000184 in ?? ()
```

Second pane:

```
gdbgui output (read-only)
Copy/Paste available in all terminals with ctrl+shift+c, ctrl+shift+v
-exec-arguments
-file-exec-and-symbols /tmp/arduino_build_637692/Test_Teensy.ino.elf
-break-insert main
-break-list
Started new gdb process, pid 3165910
-list-features
-list-target-features
No gdb response received after 10 seconds.
Possible reasons include:
1) gdbgui, gdb, or the debugged process is not running.
2) gdb or the inferior process is busy running and needs to be interrupted (press the pause button up top).
3) Something is just taking a long time to finish and respond back to this browser window, in which case you can just keep waiting.
1-thread-info
1-stack-list-variables --simple-values
1-var-update --all-values *
-break-list
1-stack-list-frames
```

**To Reproduce**
See above

**Expected behavior**
gdbgui should work exactly the same as commandline gdb

**Please complete the following information:**
* OS: Fedora Linux 33
* gdbgui version (`gdbgui -v`): 0.14.0.2
* gdb version (`gdb -v`): GNU gdb (GNU Tools for ARM Embedded Processors) 7.10.1.20160923-cvs
* browser [e.g. chrome, safari]: Chrome
* python packages (`pip freeze`):
actionlib==1.13.2
angles==1.9.13
argcomplete==1.12.0
bcrypt==3.1.7
beautifulsoup4==4.9.3
blivet==3.3.0
blivet-gui==2.2.1
bondpy==1.8.6
Brotli==1.0.9
catfish==4.16.0
catkin==0.8.9
catkin-pkg==0.4.23
cffi==1.14.1
chardet==3.0.4
click==8.0.0
coverage==5.3
cryptography==3.2.1
cupshelpers==1.0
cv-bridge==1.15.0
cycler==0.10.0
dasbus==1.4
dbus-python==1.2.16
decorator==4.4.2
defusedxml==0.7.0rc2
diagnostic-analysis==1.10.2
diagnostic-common-diagnostics==1.10.2
diagnostic-updater==1.10.2
distro==1.5.0
dnspython==2.1.0
docutils==0.16
dynamic-reconfigure==1.7.1
empy==3.3.4
eventlet==0.25.2
Flask==0.12.5
Flask-Compress==1.9.0
Flask-SocketIO==2.9.6
fluidity-sm==0.2.0
gdbgui==0.14.0.2
gencpp==0.6.5
geneus==3.0.0
genlisp==0.4.18
genmsg==0.5.16
gennodejs==2.0.2
genpy==0.6.14
gevent==1.5.0
gevent-websocket==0.10.1
gpg==1.14.0
gps==3.20
greenlet==0.4.16
humanize==0.5.1
idna==2.10
img2pdf==0.3.4
initial-setup==0.3.83
interactive-markers==1.12.0
invoke==1.4.1
iotop==0.6
itsdangerous==2.0.0
Jinja2==3.0.0
joint-state-publisher==1.15.0
joint-state-publisher-gui==1.15.0
kiwisolver==1.3.1
langtable==0.0.54
laser-geometry==1.6.5
lexicon==1.0.0
libcomps==0.1.15
lxml==4.5.1
MarkupSafe==2.0.0
matplotlib==3.3.4
message-filters==1.15.9
mock==3.0.5
monotonic==1.6
netifaces==0.10.6
nftables==0.1
nose==1.3.7
notify2==0.3.1
ntplib==0.3.3
numpy==1.19.4
olefile==0.46
ordered-set==4.0.1
paramiko==2.7.2
pdfarranger==1.7.1
pexpect==4.8.0
pid==2.2.3
pikepdf==1.19.4
Pillow==7.2.0
ply==3.11
productmd==1.32
progressbar2==3.51.4
psutil==5.7.2
ptyprocess==0.6.0
pwquality==1.4.4
pyasn1==0.4.8
pycairo==1.18.2
pycparser==2.20
pycryptodomex==3.10.1
pycups==2.0.1
pycurl==7.43.0.5
pydbus==0.6.0
pydot==1.4.1
pyenchant==3.1.1
pygdbmi==0.10.0.0
Pygments==2.9.0
PyGObject==3.38.0
pygraphviz==1.5
pyinotify==0.9.6
pykickstart==3.29
PyNaCl==1.3.0
PyOpenGL==3.1.5
PyOpenGL-accelerate==3.1.5
pyparsing==2.4.7
pyparted==3.11.5
PyQt5==5.15.0
PyQt5-sip==4.19.24
pyserial==3.4
PySide2==5.15.2
PySocks==1.7.1
python-augeas==0.5.0
python-dateutil==2.8.1
python-engineio==3.14.2
python-gnupg==0.4.6
python-meh==0.50
python-qt-binding==0.4.3
python-socketio==4.6.1
python-utils==2.4.0
pytz==2020.5
pyudev==0.22.0
pyxdg==0.26
PyYAML==5.4.1
qt-dotgraph==0.4.2
qt-gui==0.4.2
qt-gui-cpp==0.4.2
qt-gui-py-common==0.4.2
requests==2.24.0
requests-download==0.1.2
requests-file==1.4.3
requests-ftp==0.3.1
resource-retriever==1.12.6
rosbag==1.15.9
rosboost-cfg==1.15.7
rosclean==1.15.7
roscreate==1.15.7
rosdep==0.20.1
rosdistro==0.8.3
rosgraph==1.15.9
roslaunch==1.15.9
roslib==1.15.7
roslint==0.12.0
roslz4==1.15.9
rosmake==1.15.7
rosmaster==1.15.9
rosmsg==1.15.9
rosnode==1.15.9
rosparam==1.15.9
rospkg==1.3.0
rospy==1.15.9
rosservice==1.15.9
rostest==1.15.9
rostopic==1.15.9
rosunit==1.15.7
roswtf==1.15.9
rpm==4.16.1.3
rqt-action==0.4.9
rqt-bag==0.5.0
rqt-bag-plugins==0.5.0
rqt-console==0.4.11
rqt-dep==0.4.10
rqt-graph==0.4.14
rqt-gui==0.5.2
rqt-gui-py==0.5.2
rqt-image-view==0.4.16
rqt-launch==0.4.9
rqt-logger-level==0.4.11
rqt-moveit==0.5.9
rqt-msg==0.4.9
rqt-nav-view==0.5.7
rqt-plot==0.4.12
rqt-pose-view==0.5.10
rqt-publisher==0.4.9
rqt-py-common==0.5.2
rqt-py-console==0.4.9
rqt-reconfigure==0.5.3
rqt-robot-dashboard==0.5.8
rqt-robot-monitor==0.5.13
rqt-robot-steering==0.5.12
rqt-runtime-monitor==0.5.8
rqt-rviz==0.6.1
rqt-service-caller==0.4.9
rqt-shell==0.4.10
rqt-srv==0.4.8
rqt-tf-tree==0.6.2
rqt-top==0.4.9
rqt-topic==0.4.12
rqt-web==0.4.9
rviz==1.14.4
scour==0.38.1
selinux==3.1
sensor-msgs==1.13.0
sepolicy==3.1
setools==4.3.0
setproctitle==1.1.10
setroubleshoot==1.1
shiboken2==5.15.2
simpleline==1.7
six==1.15.0
slip==0.6.4
slip.dbus==0.6.4
smach==2.5.0
smach-ros==2.5.0
smclib==1.8.6
sos==4.0
soupsieve==2.0.1
systemd-python==234
tf==1.13.2
tf-conversions==1.13.2
tf2-geometry-msgs==0.7.5
tf2-kdl==0.7.5
tf2-py==0.7.5
tf2-ros==0.7.5
tf2-sensor-msgs==0.7.5
topic-tools==1.15.9
urllib3==1.25.8
Werkzeug==0.16.1
xacro==1.14.5

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.