Gdb 调试器不能在 Ubuntu 22.04 上使用 R

问题描述 投票:0回答:1

我在 Ubuntu 22.04 上使用 gdb 来调试依赖于 C++ 源文件的 R 代码。在我使用 Ubuntu 18.04 之前一切正常。几个月前,我将我的操作系统更新到 Ubuntu 22.04,从那时起,gdb 不再允许我调试 R 代码。

特别是当我在终端上运行命令时

R -d gdb

我得到的只是一个分段错误

Segmentation fault when calling gdb

gdb 本身似乎在 R 中运行良好

Calling gdb only

我不知道为什么我会观察到这种行为。我已经尝试清除 gdb 并重新安装它,但我得到了相同的结果。

有人知道发生了什么事吗?

我运行命令

gdb -ex 'set env LD_LIBRARY_PATH /usr/lib/R/lib:/usr/lib/x86_64-linux-gnu:/usr/lib/jvm/default-java/lib/server' \
  -ex run -ex where \
gdb /usr/lib/R/bin/exec/R

结果我得到这个:

Terminal 2https://i.stack.imgur.com/9ZLiv.png

感谢您的帮助!

gdb ubuntu-22.04
1个回答
0
投票

看起来运行

R -d gdb
执行以下操作:

LD_LIBRARY_PATH=/usr/lib/R/lib:\
/usr/lib/x86_64-linux-gnu:/usr/lib/jvm/default-java/lib/server \
gdb /usr/lib/R/bin/exec/R

GDB 不喜欢那个

LD_LIBRARY_PATH
.

所以第 0 步是在 shell 中运行上面的命令并确认它导致 GDB 崩溃。

第一步是运行

gdb -ex 'set env LD_LIBRARY_PATH /usr/lib/R/lib:/usr/lib/x86_64-linux-gnu:/usr/lib/jvm/default-java/lib/server' \
  -ex "set height 0" -ex run -ex where \
  -ex "info shared" --args \
gdb /usr/lib/R/bin/exec/R

并使用输出编辑问题。

© www.soinside.com 2019 - 2024. All rights reserved.