gpt4 book ai didi

c++ - 调用 bazel 命令进行调试时 GDB 立即退出

转载 作者:行者123 更新时间:2023-11-30 05:00:58 30 4
gpt4 key购买 nike

我找到了两个链接,展示了如何在 bazel 下使用 gdb 进行调试(link 1link 2)。

两个链接都表明在调用以下命令时可以启动调试 session :

bazel run --compilation_mode=dbg --run_under=gdb//my:target

当我运行该命令时,gdb 正常启动,加载符号和所有内容,但随后立即退出。输出与 here (from link 2) 中所示相同.

第一个链接还提到了 --direct_run 参数,但是这个参数也不起作用。 gdb 立即退出,并显示以下附加在 gdb 输出(来自上一个链接)之后的消息:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US.ISO-8859-1",
LC_ALL = "en_US.ISO-8859-1",
LC_MEASUREMENT = "de_DE.UTF-8",
LC_PAPER = "de_DE.UTF-8",
LC_MONETARY = "de_DE.UTF-8",
LC_NAME = "de_DE.UTF-8",
LC_CTYPE = "en_US.ISO-8859-1",
LC_ADDRESS = "de_DE.UTF-8",
LC_NUMERIC = "de_DE.UTF-8",
LC_TELEPHONE = "de_DE.UTF-8",
LC_IDENTIFICATION = "de_DE.UTF-8",
LC_TIME = "de_DE.UTF-8",
LANG = "en_US.ISO-8859-1"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

我做错了什么?我如何与 gdb 交互?

提前致谢。

最佳答案

该线程 ( https://groups.google.com/d/msg/bazel-discuss/Mu95dnuA2MQ/I2BDu0SDGAAJ ) 中的另一条消息指出 bazel 不会将 tty 传递给 gdb 的标准输入。如果您在没有附加标准输入的情况下调用 gdb,您所看到的就是您所期望的:

$ gdb -silent -nx  < /dev/null
(gdb) quit

解决方法的一个选择可能是编写一个包装器脚本来调用 gdb < /dev/tty .

关于c++ - 调用 bazel 命令进行调试时 GDB 立即退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50504268/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com