【问题标题】:Debugged program crashes after resuming execution恢复执行后被调试的程序崩溃
【发布时间】:2016-01-20 16:13:14
【问题描述】:

我正在使用 Eclipse(gdb) 和 gdbserver 调试远程程序。我将我的 Eclipse 附加到已经运行的程序中。然后它在我的断点所在的位置停止执行。这一切都很好。我可以看到变量的内容。伟大的。但是,如果我想通过例如恢复执行恢复或跳过,程序给了我一个分段错误。如果调试器进入,您是否知道为什么会发生分段错误?

程序使用多个线程。 最后一个 gdb 跟踪输出如下。这里会抛出一个 SIGILL。

064,490 59-exec-next --thread 7 1 064,629 59^运行 064,629 *运行,线程ID =“7” 064,629 (gdb) 064,685 *stopped,reason="signal-received",signal-name="SIGILL",signal-meaning="Illegal instruction",\ 框架={addr="0x000000000044c2df",func="func_func",args=[{name="this",value="0x4053b8"}],fil\ e="src/funcs.c",fullname="/home/local/wolle/src/funcs.c",line="100"\ },thread-id="7",stopped-threads="all",core="1"

【问题讨论】:

  • 说真的,尝试在其他地方设置断点。根据您对问题的描述,没有人能够提供帮助。
  • 好的,问题似乎是 pid 命名空间问题。您需要位于正确的命名空间中。

标签: c debugging gdb


【解决方案1】:

好的,问题似乎是 pid 命名空间问题。您需要位于正确的命名空间中。 – 沃勒先生

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多