8

I can only use the GNU Debugger (GDB) when authenticated as an administrator.

When I launch GDB as a standard user, after giving the GDB command "run", a dialog requests me for a user name and password of a user in the "Developer Tools" group.

The problem is that I already am in the "Developer Tools" group, so I do not know what else to do...

Thank you!

Platform:

  • MacOS X 10.7.1
  • GCC 4.2.1
  • i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
  • GNU gdb 6.3.50-20050815 (Apple version gdb-1705)
  • This GDB was configured as "x86_64-apple-darwin".

2 Answers 2

7

Are you positive you are in the Developer Tools group?

Try running this command

sudo dscl . append /Groups/_developer GroupMembership <username>

That should add your user account to the group.

1
  • Now I know that the groups shown in the GUI are not the real ones ;-) Thank you!
    – Pietro
    Commented Sep 13, 2011 at 21:53
2

I had the same problem, it wouldn't run, except as root/sudo, which meant I couldn't use it with eclipse, which meant I lost 5 working hours debugging the problem. Here are my results.

Firstly, gdb generated a similar error message when executed under my user account.

Unable to find Mach task port for process-id 4667: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

I tried code signing it by creating a certificate using Keychain, then marking the certificate as trusted for code signing. Then applying it to the executable from the command line.

codesign -s gdb-cert /usr/local/Cellar/gdb/7.6.1/bin/gdb
codesign --verify --verbose  /usr/local/Cellar/gdb/7.6.1/bin/gdb
codesign -d --verbose  /usr/local/Cellar/gdb/7.6.1/bin/gdb

That didn’t work

I tried adding my user account to the procview, procmod, and _developer groups (probably insecure, but I only deploy my code to github, and don't use the machine for personal use, so I can live with that)

sudo dscl . append /Groups/procmod GroupMembership bryanhunt

sudo dscl . append /Groups/procview GroupMembership bryanhunt

sudo dscl . append /Groups/_developer GroupMembership bryanhunt

That didn't work

Finally, I tried changing the executable's group and group sticky bit.

sudo chgrp procmod /usr/local/Cellar/gdb/7.6.1/bin/gdb
sudo chmod g+s /usr/local/Cellar/gdb/7.6.1/bin/gdb

That worked

1
  • no matter what I do, I get the below error. Anything that you might know to help me. Starting program: /Users/nakulchawla/POPL/proj5/a.out Unable to find Mach task port for process-id 571: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8)) Commented Nov 24, 2016 at 12:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .