由于我的程序中有一个“ fork”调用,因此很难在KDevelop中跟踪我的程序。 它肯定认为我的程序在“ fork”语句之后已经完成,但是真正的逻辑才刚刚开始。
有没有一种方法或小代码可以检查程序是在生产/本机模式下运行还是在KDevelop中/由KDevelop跟踪?
尽管“ NDEBUG”宏使我们可以编写一个小码来跳过“ fork”,但我认为这还不够漂亮,因为有时我们还需要让带有debug-info的程序在本机/生产模式下运行。
谢谢!
您可以在KDevelop中的调试会话期间执行任意GDB命令。 尝试中断程序启动,并设置set follow-fork-mode child
。 这将使GDB在fork
后继续子进程。