以root身份进行程序调试的远程调试

时间:2019-01-28 11:50:21

标签: linux eclipse-cdt

我想使用带有CDT的Eclipse Oxygen(Windows主机),我想使用GDB调试在嵌入式Linux机器上运行的C ++程序,以及一些精简的Ubuntu版本。

为此,我添加了一个“ C ++远程应用程序”调试目标和一个ssh连接。 在Eclipse的Debug Configurations对话框的Main选项卡上,有2个文本框: C / C ++应用程序的远程绝对文件路径-包含“ / home / ubuntu / myapp”,以及要在应用程序之前执行的命令-到目前为止,其中包含“ chmod + x / home / ubuntu / myapp”,以使我的程序可执行。

这基本上可以工作。 但是现在我的程序需要设置一些系统设置,例如网络缓冲区大小和线程的CPU亲和力,这些设置仅在“ sudo su”并输入密码之后才起作用-在SSH控制台上手动启动该程序时。

为了能够调试程序而不会出现任何“拒绝权限”错误,我尝试将“在应用程序之前执行的命令”行扩展为:“ chmod + x / home / ubuntu / myapp && echo MYPASSWORD | sudo- S su”。 这样,我不会在Eclipse控制台中提示输入密码,并且我的应用程序确实启动了。但是我在更改网络缓冲区(例如/ proc / sys / net / core / rmem_max和默认值)大小时遇到​​“权限被拒绝”错误。

似乎Eclipse一次又一次打开了多个会话,并且“ sudo su”不再适用吗?

我想要的东西可以实际实现吗?如果可以,怎么实现?

0 个答案:

没有答案