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

时间:2019-06-12 17:49:50

标签: python c++ linux

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

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

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

   import pdb; pdb.set_trace();

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

那么我该如何使用execl函数来实现这一目标,或者还有其他方法可以实现吗?请提出建议。

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

请提出是否还有更好的方法。

谢谢。