【问题标题】:Remote debugging with root privileges使用 root 权限进行远程调试
【发布时间】:2014-08-08 22:34:10
【问题描述】:

我遇到了麻烦。由于无法调用wiringPiSetupGpio(),无法远程调试我的程序。我正在使用 netbeans 开发和调试我的程序。我几乎可以肯定我需要以 root 用户身份运行调试,但是......我该怎么做?

是否可以强制 netbeans 在普通用户的情况下启动类似 'sudo gdb' 的东西?或者,当尝试调用“gdb”时,强制我在树莓派中的帐户调用“sudo gdb”?

【问题讨论】:

标签: c++ netbeans gdb raspberry-pi


【解决方案1】:

要强制 netbeans 以 root 身份启动 gdb,您需要以 root 身份安装 netbeans。确保您的 netbeans intall 目录位于 /usr/local 而不是 /home/[user_name] 中。您必须以 sudo 身份运行 netbeans 安装

【讨论】:

  • 我应该在 Raspberry 还是 Windows 上以 root 身份启动它?
【解决方案2】:

这是一篇旧帖子,但由于我遇到了同样的问题,我将发布我是如何解决这个问题的:

对我来说,问题似乎不是 gdb,而是运行在 Raspi(或我的情况下为 Beaglebone)上的 gdbserver。

我添加了一个调试配置来以 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 

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 2016-02-06
    • 2015-07-04
    相关资源
    最近更新 更多