我在Linux中有一个C ++桌面应用程序,它执行一个Python程序。我正在使用execl运行python程序,如下所示:
execl("python3", "Sample.py",NULL);
我的查询是关于调试此python程序的。我添加以下行以在python程序中启用调试:
import pdb; pdb.set_trace();
但是,我希望将此python程序在某个控制台/终端中启动,以便我可以输入调试参数(例如c,n等)。
那么我该如何使用execl函数来实现这一目标,或者还有其他方法可以实现吗?请提出建议。
谢谢。
答案 0 :(得分:0)
我使用以下方法从应用程序中调试python程序。
execl(“ / bin / sh”,“ sh”,“-c”,“ gnome-terminal-python Sample.py”,(char *)NULL);
但是,使用上述方法,我无法等待python进程退出/终止,因为execl创建了gnome-terminal进程,而这又创建了Python进程。为了克服这个问题,我正在execl之后寻找像pslookup这样的python进程,并等待它完成。
请提出是否还有更好的方法。
谢谢。