我一直在尝试调试一个需要sudo才能通过netbeans运行但尚未成功的c ++应用程序。我使用的是带有Ntebeans 8.2和gdb 7.12的ubuntu 16.04 VM。首先,我使用谷歌搜索找到的常见解决方案:
1)使用脚本解决方案
#!/bin/bash
sudo /usr/bin/gdb $*
在工具 - > c ++ - > debug命令下的debug命令中加载脚本
2)我将gdp更新为7.12
但是,每次我收到以下弹出消息:
gdb意外停止,返回1
之后我联系了Netbeans论坛,我得到了以下两种选择:
1)setcap在你的可执行文件上,所以你不需要是root
2)创建一个"远程位置" root @ localhost并将其设置为您的项目配置
所以我首先尝试了命令
setcap cap_net_raw + ep / myapp
在Netbeans使用Debug模式时创建的distributable c ++文件中。当我运行应用程序时,我没有任何问题但是当我尝试调试时,我再次得到了上面的弹出消息。
最后,我尝试在我的项目下使用名称root @ localhost构建一个新主机,但我总是得到
无法在端口22上与root @ localhost建立连接。
另一方面,ssh_d的配置在ubuntu中是正确的,因为通过shh root @ localhost的连接总是成功的,我也给了sudo ufw allow 22以允许端口22监听ssh。
有没有遇到过类似的问题?关于如何解决它或只是使用另一个IDE的任何想法?