Arch Linux の Visual Studio Code で gdb が attach できない時の対処方法

2018/06/30

Tweet

Visual Studio Code

Visual Studio Code では GDB をバックエンドにして C++ プロジェクトのデバッグができる。 しかし、本当に arch linux と gdb と visual studio code をいれただけでは attach ができなかったりする。

対処方法

確認方法

適当な C++ プロジェクトを作って GDB で attach しようとすると、以下のような画面が出る。

journalctl -xe を見ると、以下のように pkexec のエラーが発生していることがわかる。

Jun 30 16:22:39 yukiko polkitd[1008]: Registered Authentication Agent for unix-process:20099:24228843 (system bus name :1.81616 [pkexec --user root ls], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Jun 30 16:22:41 yukiko polkitd[1008]: Operator of unix-process:20099:24228843 FAILED to authenticate to gain authorization for action org.freedesktop.policykit.exec for unix-process:20099:24228843 [-zsh] (owned by unix-user:tomoki)
Jun 30 16:22:41 yukiko pkexec[20114]: tomoki: Error executing command as another user: Not authorized [USER=root] [TTY=/dev/pts/5] [CWD=/home/tomoki] [COMMAND=/usr/bin/ls]
Jun 30 16:22:41 yukiko polkitd[1008]: Unregistered Authentication Agent for unix-process:20099:24228843 (system bus name :1.81616, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)

pkexec --user root ls とか実行してみると以下のようなエラーが出る

==== AUTHENTICATING FOR org.freedesktop.policykit.exec ====
Authentication is needed to run `/usr/bin/ls' as the super user
Authenticating as: tomoki
Password: 
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ====
Error executing command as another user: Not authorized

This incident has been reported.