【问题标题】:Why won't CodeBlocks attach to a process?为什么 CodeBlocks 不附加到进程?
【发布时间】:2020-04-23 13:48:15
【问题描述】:

我最近遇到了一个问题,我想在这里分享问答风格。希望它对其他人有所帮助,至少它已记录在案,以便我以后可以找到它:)

当尝试在 CodeBlocks 中运行 Ncurses 时,它会在遇到 initscr(); 时爆炸。使用 VSCode 这不是问题,所以我知道我缺少一些东西。在 StackOverflow 的帮助下,使用 gdb(和 CodeBlocks)解决此问题的最佳方法似乎是在进程运行后附加到进程本身,而不是在 CodeBlocks 中启动它。 (Debugging ncurses application with gdb)

但是,当我尝试附加到 PID 时,它只是说它无法附加到进程。这是为什么呢?

【问题讨论】:

    标签: process gdb codeblocks pid


    【解决方案1】:

    我发现如果我尝试在命令行上通过 gdb 运行它,我也会遇到同样的问题。它来自内核硬化以防止黑客攻击。有了这个答案:https://stackoverflow.com/a/32274645/1770034

    我发现我需要切换到 root 用户。然后运行echo 0 > /proc/sys/kernel/yama/ptrace_scope 现在代码块将愉快地附加到进程中,您可以使用断点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-15
      • 2018-05-28
      • 2015-04-19
      • 2014-07-18
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多