在NetBeans 8.0中调试需要sudo运行的C++程序

HEK*_*KTO 7 c++ debugging sudo gdb netbeans

我知道这个问题在各个网站上被多次询问,但我找不到任何建议如何解决我的问题.我在NetBeans 8.0中使用GCC 4.8.1并且需要(可视)调试访问原始设备的程序,因此我需要通过sudo运行它.

我的项目属性设置是:

  • 运行 - >运行命令="sudo $ {OUTPUT_PATH}"
  • 运行 - >控制台类型="外部终端"
  • 运行 - >外部终端类型="默认"

所有其他设置都是默认设置,包括Debug -> Debug Command空的.

因此,当我在NetBeans中运行它时程序运行正常- sudo要求输入密码然后程序继续.但是,我无法 在NetBeans中调试它 - 调试器输出下面的文本并停止.

调试器外部终端

有任何想法吗?请不要建议以root身份运行NetBeans - 这对我来说太麻烦了.

(我在Xubuntu 3.11,它guest OS在Mac上的VMWare Fusion VM中运行)

2015/09/16更新:

据多方意见(从网上)我试图取代Debug CommandTools- > Options- > C/C++我的,内容如下脚本弹出窗口:

#!/bin/bash
PROG=$(which gdb)
sudo $PROG "$@" 
Run Code Online (Sandbox Code Playgroud)

此脚本在命令行中运行良好.但是,当我尝试从NetBeans调试我的程序时,我得到以下弹出窗口:

NetBeans消息

所以,第一个问题就消失了,第二个问题就出现了.在这种情况下,我看到了一些清除断点的建议 - 它对我没有帮助.

任何想法接下来要尝试什么?

(gdb版本是GNU gdb(Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1)7.4-2012.04)

vso*_*tco 1

我想到的最好的办法是启动gdbsudo强制系统不要求密码。我相信你的问题已经有了答案(虽然对于 Eclipse,但对于 Netbeans 来说本质上是一样的) /sf/answers/570027181/

希望这可以帮助。