【问题标题】:Debugging of python script launched from another C++ application in Linux调试从 Linux 中另一个 C++ 应用程序启动的 python 脚本
【发布时间】:2019-10-27 07:11:20
【问题描述】:

我在 linux 中有一个 C++ 桌面应用程序,它执行一个 Python 程序。我正在使用 execl 来运行 python 程序,如下所示:

 execl("python3", "Sample.py",NULL);

我的查询是关于调试这个 python 程序。我正在添加以下行以在 python 程序中启用调试:

   import pdb; pdb.set_trace();

但是,我希望在某个控制台/终端中启动这个 python 程序,以便我可以输入调试参数(如 c、n 等)。

那么我怎样才能使用 execl 函数来实现这一点,或者还有其他方法吗?请提出建议。

谢谢。

【问题讨论】:

    标签: python c++ linux


    【解决方案1】:

    我使用以下方法从我的应用程序中启用 python 程序的调试。

    execl("/bin/sh","sh","-c","gnome-terminal -- python Sample.py",(char*)NULL);

    但是,通过上述方法,我无法等待 python 进程退出/终止,因为 execl 创建了 gnome-terminal 进程,而该进程又创建了 Python 进程。为了克服这个问题,我正在寻找一个 python 进程,比如 execl 之后的 pslookup 并等待它完成。

    如果有更好的方法,请提出建议。

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多