当前位置:  开发笔记 > 编程语言 > 正文

以root身份在XCode中调试

如何解决《以root身份在XCode中调试》经验,为你挑选了3个好方法。

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

如何在XCode下进行调试?

全部使用XCode 3.1.2在Mac OS X 10.5上使用C++和boost.asio完成.



1> BJ Homer..:

更新:对于Xcode 4.5及更高版本,请参阅此答案.


我知道你要做的唯一方法是以root身份运行Xcode.

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

一旦以root身份运行,从Xcode启动的任何进程也将以root身份运行.但请注意,如果您创建或编辑任何文件,它们将归root所有,这意味着您必须chown先将它们作为普通用户进行编辑.

我喜欢Xcode说"以root身份启动进程"的方法,但据我所知,没有这样的功能可用.

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

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

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

编辑:未来的读者:见亚历山大斯塔沃宁的回答; 它谈到了如何做到这一点.如果您对ssh密钥没问题并在系统上启用root用户,那么他的答案是可行的.



2> Mike.R..:

在Xcode 4.5中Product- > Edit Scheme:在Debug Process As下的Info选项卡中查找并选择root选项.



3> Alexander St..:

Xcode能够以root身份运行调试应用程序.为此,应执行以下步骤:

    为本地计算机启用root用户.

    一个.运行"目录实用程序"(/ System/Library/CoreServices/Directory Utility.app)

    湾 从"编辑"菜单中选择"启用Root用户",然后输入root密码.

    启用远程登录.

    一个.在系统偏好设置... - >共享中,选中远程登录.这个选项打开了ssh恶魔.

    在root用户的.ssh/authorized_keys文件夹中创建ssh公钥/私钥并复制公钥.

    一个.在本地机器上打开终端并键入ssh-keygen -t rsa

    湾 接受默认位置并键入root用户密码.

    C.以root身份登录su -并创建〜/ .ssh目录.(〜==/var/root)

    d.将公钥复制到根目录:cat ~/.ssh/id_rsa.pub | ssh root@localhost "cat - >> ~/.ssh/authorized_keys"

    即 检查一切是否正常.类型ssh root@localhost.它不应该要求root密码.

    在Xcode中通过ssh启用远程调试.

    一个.从«可执行文件»的下拉菜单中选择«获取信息».

    湾 在"调试"设置中,检查«通过ssh远程调试可执行文件»并将root @ localhost作为«连接到»信息.

    现在一切都应该好了☺

来自博客

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有