我遇到了麻烦。由于无法调用wiringPiSetupGpio(),因此无法远程调试我的程序。我使用netbeans来开发和调试我的程序。我几乎可以肯定我需要以root用户身份运行调试但是......我该怎么做?
是否有可能强制netbeans开始像' sudo gdb'普通用户的内容?或者也许强迫我的帐户在树莓派中打电话给' sudo gdb'什么时候试着打电话' gdb'?
答案 0 :(得分:0)
要强制netbeans以root身份启动gdb,您需要以root身份安装netbeans。确保您的netbeans intall目录位于/ usr / local而不是/ home / [user_name]。您必须将netbeans安装作为sudo运行
答案 1 :(得分:0)
这是一篇旧帖子,但由于我遇到了同样的问题,我将发布如何解决这个问题:
对我来说问题似乎不是gdb,而是在Raspi上运行的gdbserver(或者在我的情况下是Beaglebone)。
我添加了一个调试配置来以root用户身份调试应用程序,因此我向Beaglebone /usr/local/sbin/gdbserver
添加了一个脚本并添加了以下行:
#!/bin/bash
sudo /usr/bin/gdbserver $*
并使其可执行:
sudo chmod a+x /usr/local/sbin/gdbserver
并在文件/etc/login.defs
中看到
ENV_SUPATH PATH= ....
ENV_PATH PATH= ....
包含/usr/local/sbin
。然后在根执行的调试配置中,我将命令gdbserver
更改为/usr/local/sbin/gdbserver
。如果仍然无法工作,您可能也必须这样做:
sudo visudo
并添加
<your_user> ALL=(root) NOPASSWD:/usr/bin/gdbserver
我希望这会有所帮助。