V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dcoder
V2EX  ›  macOS

gdb, Eclipse CDT for Mavericks

  •  
  •   dcoder · 2013-10-25 02:04:02 +08:00 · 5931 次点击
    这是一个创建于 4052 天前的主题,其中的信息可能已经有所发展或是发生改变。
    升级到 Mac OS X 10.9 (Mavericks) 后,发现 gdb 没了,变成了 lldb ...
    设置 Eclipse CDT 调用 lldb, 发现 Eclipse 不跟 lldb 合作 ...
    应该等待以后的新 Eclipse+CDT package 来对 OS X 10.9 做官方configure...


    下面是我现在设置 gdb, Eclipse+CDT 的步骤:

    1. install Xcode 5.
    from https://developer.apple.com/xcode/

    2. install cmd tool for OS X 10.9.
    also from https://developer.apple.com/xcode/

    3. install gdb:
    https://github.com/Homebrew/homebrew-dupes
    > brew tap homebrew/dupes
    > brew install gdb48

    4. 设置 Eclipse+CDT with gdb
    > which gdb # get "path of gdb"
    在 Eclipse 的debug设置里面把 gdb 那一项设置成 "path of gdb"
    gdb 需要监控其他 process 信息,需要以 root 运行... >_<
    可以以 root 运行 Eclipse, 然后就可以用 gdb debug 了... >_<


    当然,我知道步骤4不好。有谁知道怎么设置 gdb,可以不以root身份启动gdb,也可以让gdb自动可以控制其他 process 吗?
    下面这个是错误码:
    Unable to find Mach task port for process-id 391: (os/kern) failure (0x5).
    (please check gdb is codesigned - see taskgated(8))

    搜索了一堆教程,没见着一个简单靠谱,能说明白设置原理的 ??
    1 条回复    1970-01-01 08:00:00 +08:00
    luikore
        1
    luikore  
       2013-10-25 09:44:03 +08:00
    http://sourceware.org/gdb/wiki/BuildingOnDarwin

    另外执行 codesign 命令时加个 --deep 参数更稳妥
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3618 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 10:41 · PVG 18:41 · LAX 02:41 · JFK 05:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.