13

ここ数日間、OS X Lion で Emacs 24 (pretest 24.0.95.1) を試してきましたが、新しい gdb/MI インターフェイスでいくつかの問題が発生しています。

Xcode に付属する GDB 6.3 では、gdb/MI インターフェイスがまったくロードされないようです。GDB GUD モードを開始しようとしているように見えますが、実際にはコマンドが機能しません。

また、Homebrew 経由で GDB-7.4 をインストールしようとしました。それは私を部分的にそこに連れて行きます。gdb-many-windows インターフェイスは表示されますが、gdb プロンプトは表示されません。Emacs は 100% の CPU を使い果たしますが、応答しなくなることはありません。ファイルなどを開くことはできますが、GDB では何もできません。

他の誰かが同様の問題に遭遇しましたか? それらを解決できましたか? もしそうなら、どのように解決しましたか?


編集: 2012-06-10: 新しくリリースされた Emacs 24.1 で再試行しました。GDB 6.3 (Xcode 経由) での動作は同じままです。GDB-7.4 は、GDB を起動し、emacs が 100% の CPU を使用するという点で若干劣っていますが、今は他に何もできません。フリーズした場合の Emacs :/

4

2 に答える 2

10

から Keychain.app による認証を変更する方法を使用してみました

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

それはまだ認証について不平を言っています..

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))

それから私は試しました:

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

そして、それは今私のために働きます。

于 2012-05-04T01:37:57.140 に答える
5

私は Savannah git のソースから Mac OSX Lion (10.7.4) で自分自身を構築した Emacs 24.1 を使用しています。ビルドは emacs-24.1 タグに基づいており、Lion フルスクリーン サポート用のパッチが適用されています。

Gdb 6.3 は私にとって奇妙な動作をします。-i=mi フラグについて不平を言い、各コマンドプロンプトの前に奇妙なタイムスタンプを出力し続け(gdb)、右端に押しやられて本当に使いにくくなっています。補完も同様に機能せず、さらに調査する必要がなかった他の問題が発生している可能性があります。

homebrew/dupes タップから gdb 7.4 を使用して、Emacs から gdb を実行しようとすると、Firegun が言及したリンク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))

ただし、そこに記載されているすべての手順に従って証明書を作成し、gdb に署名したところ、正常に動作するようになりました。gdb を使用して起動M-x gdbし、コマンドを使用してデバッグするアプリをロードしfileます。パスワードを入力runすると、開発者ツールが別のプロセスを制御できるようにするためのプロンプトが表示されます。パスワードを入力すると、正常に動作します。ブレークポイントで停止し、フリンジの矢印でコードをたどります。Gud > GDB-MI > Display Other Windows に移動すると、情報を含む他のウィンドウが表示されます。

于 2012-06-23T18:53:37.290 に答える