【问题标题】:Busy process in Kubuntu while debugging调试时Kubuntu中的繁忙进程
【发布时间】:2017-11-13 07:35:02
【问题描述】:

我正在尝试使用 Qt Creator 编写我的第一个 Linux 应用程序。有时,在调试过程中,我编写的代码会导致我的应用程序陷入某种无限循环。

这会导致我的 KDE 会话冻结。使用调试器或任何其他方式停止/暂停进程似乎是不可能的。几分钟后,桌面会话会自动终止,这会阻止重新启动整个 PC。

那么我该如何调试一个在 Linux 下疯狂的进程呢?为什么它会阻止整个桌面和 Qt Creator IDE,我该如何防止这种情况发生?

【问题讨论】:

    标签: c++ linux debugging qt-creator busy-loop


    【解决方案1】:

    有了这几个信息,我会说 QtCreator 使用 GDB 并确保 GDB 做得很好。 通常你的应用程序处于 linux 分时调度中,Ubuntu 会在一段时间后停止你的进程,这个时间段取决于你的 PC 的容量(内存,nbr cpu-core)。 请记住,如果您的应用程序启动实时线程并将 100% 使用您 PC 的所有内核,则冻结是正常的,但即使您在这种情况下,linux 也会保留一些 µs 来运行其他代码(例如系统代码杀死它)感谢 /proc/sys/kernel/sched_rt_runtime_us...

    如果行为类似于 KUBUNTU 的 bug,建议你查看系统日志文件:

    /var/log/syslog
    ~/.xsession-errors
    /var/log/Xorg.0.log (for the current session)
    /var/log/Xorg.0.log.old (for previous session)
    /var/log/?dm.log (gdm for gnome, kdm for KDE)
    

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多