c++ 以root身份调试XCode

在我的程序中,我需要创建套接字并绑定它们来监听HTTP端口(80)。当我从命令行启动sudo,将权限升级到root时,该程序工作正常。在XCode下运行在对binding函数(asio :: ip :: tcp :: acceptor :: bind())的调用中给出“权限被拒绝”错误。

如何在XCode下进行调试?

所有在C和boost.asio完成在Mac OS X 10.5与XCode 3.1.2。

更新:对于Xcode 4.5及更高版本,请参阅this answer

我所知道的唯一方法就是以root身份运行Xcode。

>> sudo /Developer/Applications/Xcode.app/Contents/MacOS/Xcode

一旦以root身份运行,从Xcode启动的任何进程也将以root身份运行。请注意,如果您创建或编辑任何文件,它们将由root拥有,这意味着您必须先选择它们,然后才能将其作为普通用户进行编辑。

我喜欢Xcode的一种方式来说“以root身份启动过程”,但据我所知,没有这样的功能可用。

请注意,您还可以在命令行调试器gdb中运行应用程序来调试应用程序。跑

>> sudo gdb /path/to/my/application

然后,您可以保持Xcode打开,随意修改,并在gdb中调试程序。这是我一般的做法。

编辑:未来的读者:看到亚历山大·斯塔梵宁的答案;它谈论如何做到这一点。如果您可以使用ssh键并启用系统上的root用户,那么他的答案就是要走了。

代码日志版权声明:
翻译自:http://stackoverflow.com/questions/1033026/debugging-in-xcode-as-root

转载注明原文:c++ 以root身份调试XCode