调试从 Linux 中的另一个C++应用程序启动的 python 脚本

Debugging of python script launched from another C++ application in Linux

本文关键字:应用程序 启动 python 脚本 C++ 另一个 Linux 调试      更新时间:2023-10-16

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

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

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

   import pdb; pdb.set_trace();

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

那么如何使用execl函数来实现这一点,或者还有其他方法吗?请指教。

谢谢。

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

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

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

请建议是否有更好的方法。

谢谢。