为什么 gdb 会抛出内部错误并告诉我存在错误?

马修·谢尔

我正在尝试调试一个简单的程序,但 gdb 正在运行。我收到内部错误,然后 gdb 说有一个错误。当我尝试停止正在运行的程序时会发生这种情况。发送键盘中断返回调试器后,我尝试使用quit. 但是当我这样做时,我得到了这个(我还包括在我完成问题时会发生什么):

A debugging session is active.

    Inferior 1 [process 1239] will be killed.

Quit anyway? (y or n) y
../../gdb/target.c:2149: internal-error: void target_mourn_inferior(ptid_t): Assertion `ptid == inferior_ptid' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y

This is a bug, please report it.  For instructions, see:
<https://www.gnu.org/software/gdb/bugs/>.

../../gdb/target.c:2149: internal-error: void target_mourn_inferior(ptid_t): Assertion `ptid == inferior_ptid' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) y
Abort trap: 6 (core dumped)

有人可以告诉我发生了什么,为什么会发生,以及如何解决?

约翰·博林格

有人能告诉我发生了什么吗

GDB已经告诉你:

This is a bug, please report it.  For instructions, see:
<https://www.gnu.org/software/gdb/bugs/>.

如果一个程序曾经报告它本身有一个错误,那么它总是正确的。即使它认为有问题的行为实际上不是,那么程序也有问题。

在这种特殊情况下,GDB 在自己的代码中报告断言失败。这绝对是一个实现错误,而不是一个错误报告错误。

为什么会发生

它可能是由正在调试的程序的异常触发的——这本身可能有问题——但这并不能使它成为 GDB 的错误。

以及如何修复它?

您不太可能自己修复 gdb 错误,但可能有您可以升级到的较新版本,其中该错误已得到修复。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么gdb会挂起?

我的代码抛出错误[致命错误:主要]您能告诉我为什么吗?

为什么gdb输出致命错误?

为什么gdb告诉我x86-64上的指针是4个字节?

为什么sudo告诉我密码错误?

数组索引越界,但 gdb 报告错误的行 - 为什么?

CMake告诉我什么(Windows错误)?

为什么 GDB 会更改给定地址中的内容?

为什么pstack会启动gdb(以及如何防止它)?

为什么我在gdb backtrace中看不到行号?

为什么 gdb mi 给我 &"\n" 作为返回到我的 -gdb-exit 命令?

当页面错误/秒很高时,Performance Monitor会告诉我什么?

谁能告诉我为什么我在python中使用gmtime和mktime,得到错误的结果?

你能告诉我为什么我的命令会出现错误消息无效语法吗

谁能告诉我为什么我的代码显示的pi值错误?

C ++,Shared_ptr,请告诉我为什么我的代码给出错误?

谁能告诉我为什么我在此C代码中出现分段错误?

为什么AWS告诉我BucketAlreadyExists不存在?

为什么我的代码会抛出错误消息?

为什么我的 SQL 代码会抛出转换错误?

为什么我的程序会抛出此JNI错误?

当我尝试 git remote remove origin 时,为什么 Git 会告诉我“错误:没有这样的远程 'origin'”?

谁能告诉我为什么会发生MySQL语法错误?

您能告诉我为什么出现此错误吗?它涉及功能指针

为什么resize2fs告诉我错误的信息

为什么gdb拒绝加载我的共享对象以及验证操作是什么

为什么为x86汇编函数将GDB断点设置在错误的地址?

为什么Python会抛出此错误?

ffmpeg依赖错误告诉我什么,如何解决?