
古いISAカードで動作する単純なC ++コードがあります。
fd = open("/dev/port", O_RDWR);
if (fd == -1)
{
Error() << "Error fd = -1" << msg_show;
return;
}
私もそうでした:
sudo setcap cap_sys_rawio=ep myapp
を使用してアプリケーションを起動すると、./myapp
すべては問題ありませんが、次のようにデバッグセッションを開始した場合:
gdb myapp
それから私は次を得ます: error "fd = -1"
私もそれを設定しよcap_sys_rawio
うとしました。gdb
sudo setcap cap_sys_rawio=ep /usr/bin/gdb
肯定的な結果はありません。私のアプリケーションをどのようにデバッグしますか?
答え1
わかりました私の場合、最も正しいアプローチは、いくつかのポートを使用してchmodを使用して変更する権限を持つ/ dev / myportデバイスを提供する簡単なドライバを書くことでした。
サンプルドライバを使用してリポジトリを作成しました。