QT调试问题

fn+f5进行调试,却弹出错误:

Unable to find Mach task port for process-id 9280: (os/kern)failuer(0x5)


1quest

I've been trying out Emacs 24 (pretest 24.0.95.1) on Lion for the past few days but am running into some issues with the new gdb/MI interface.

With GDB 6.3 that comes with Xcode, but the gdb/MI interface doesn't seem to load at all. It appears to try to start the GDB GUD mode, but no commands actually work.

I also attempted installing GDB-7.4 via Homebrew. That gets me partly there. the gdb-many-windows interface shows up, but the gdb prompt never arrives. Emacs just sits there eating up 100% CPU, but yet doesn't become unresponsive. I can still open files, etc. I just can't do anything with GDB.

Has anyone else run into similar issues? Were you able to resolve them, and if so, how?


Edit: 2012-06-10: I just tried again with the newly released Emacs 24.1. The behavior with GDB 6.3 (via Xcode) remains the same. GDB-7.4 is slightly worse in that it starts up GDB, and emacs uses up 100% CPU but now I'm unable to do anything else. Emacs if frozen :/


answer1:

I tried to use the way of modify certification by Keychain.app from

http://sourceware.org/gdb/wiki/BuildingOnDarwin

It still complains about certification..

GNU gdb (GDB) 7.4
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin11.3.0".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /Users/hanfei/Documents/mis/mis...Reading symbols from /Users/hanfei/Documents/mis/mis.dSYM/Contents/Resources/DWARF/mis...done.
done.
(gdb) r
Starting program: /Users/hanfei/Documents/mis/mis 
Unable to find Mach task port for process-id 52327: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

Then I tried:

$ sudo chgrp procmod /yourpath/gdb
$ sudo chmod g+s /yourpath/gdb

And it works for me now.


answer2:

I'm using Emacs 24.1 that I built myself on Mac OSX Lion (10.7.4) from the sources in Savannah git. The build is based on the emacs-24.1 tag and have a patch for Lion fullscreen support applied.

Gdb 6.3 works weirdly for me. It complains about the -i=mi flag and it keeps printing a weird timestamp before each command prompt, pushing the (gdb) far to the right and making it really hard to use. Completions don't work as well and there could be other stuff broken that I didn't bother investigating much further.

Using the gdb 7.4 from homebrew/dupes tap, when trying to run gdb from Emacs got the same error described in the link that Firegun mentioned, http://sourceware.org/gdb/wiki/BuildingOnDarwin:

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

However, I followed every step described in there to create a certificate and sign gdb and now it runs fine. I start gdb using M-x gdb and then load the app that I want to debug by using the file command. When I type run it prompts for my password to let Developer Tools take control of another process. After giving my password it runs fine. It stops on breakpoints, it follows the code with arrows in the fringe, and if go to the Gud > GDB-MI > Display Other Windows it shows the other windows with info.



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值