8

Xcode で単純な curse プロジェクトをコンパイルしようとしています。
プログラムは、フラグ -lcurses を使用して端末で g++ を使用して正常にコンパイルされ、正常に実行されます。

タイプ c++ でコマンド ライン ツールを作成することから始めます。
curses.h をメインにインポートしました。
Target"program" Info -> General -> Linked Libraries に、libCurses.dylib が追加されました。

正常にコンパイルされますが、ターミナル ウィンドウは開きません。
デバッグ コンソールの出力は次のとおりです。

プログラムがロードされました。
run
[プロセス 3424 に切り替え]
ターミナルを開く際のエラー: 不明。
実行中…<br/>

ビルドフォルダーに移動してターミナルでプログラムを開くことができますが、xcode でターミナルを開く方法はありますか?

助けてくれてありがとう!

4

4 に答える 4

5

XCode 8 では、[スキームの編集... オプション] ページからターミナル内での実行を選択できます。 XCode 8 スクリーンショット

私の簡単なテストでは、うまく機能していないようです。時々 (常にではありません) デバッグ対象が「失われる」ように見えるか、デバッグ対象が起動せず、まだ実行中であると考えます。終了しようとすると、Xcode がスタックします。と呼ばれるプロセスを見つけlldb-rpc-serverて強制終了すると、強制終了する必要がなくなることがわかりました。

より詳細に(これが誰かに役立つ場合に備えて)デバッグ対象が起動しないときはいつでも、ターミナルを開いて入力します

ps x | grep lldb

それから

kill 12345

12345psが私に与えるプロセスIDはどこにありますか。

于 2016-09-15T11:39:58.047 に答える
4

Xcode IDE に接続する端末はありません。代わりに、シェルからプログラムを実行します (ターミナル アプリケーション経由)。

./build/Debug/myprogram

IDE デバッガー (gdb のみ) を使用する場合は、プロセスにアタッチできます。最初にプロセス ID を取得し、

gdb> attach mypid

より便利な方法として、Step into Xcode: Mac OS X development を引用します。

[ グループとファイル] リストで [実行可能ファイル] グループを開き、アプリケーションを選択して [情報] ウィンドウを開き、[デバッグ] タブで [デバッガーの起動後に実行可能ファイルを開始] のチェックを外します。デバッグの準備ができたら、デバッガーを起動し、ターゲット アプリケーションを使いやすい環境で起動します。デバッガーの gdb コンソールで、attach myprogramと入力すると、デバッグ セッションが開始されます。

于 2011-04-29T18:52:52.597 に答える
0

Peter Hullの回答に続き、Scheme-> Run-> Optionsで「Console - Use Terminal」を選択してもうまくいきました。

正しく終了しない lldb-rpc-server について: Product->Scheme->Edit Scheme->Run->Post-actions に以下を追加するだけです:

ps -ef |grep lldb-rpc-server |grep -v grep | awk '{print $2}' | sort -rn | while read PID ; do kill $PID ; done

これにより、ユーザー ID が所有する必要がある lldb-rpc-server プロセスが検索され、逆の順序で並べ替えられ、単純にディスパッチされます。

Xcode-Run-PostAction-kill-lldb-rpc-server

これは私を大いに助けました!それが他の誰かにも役立つことを願っています!

-テクノパック

于 2020-10-14T10:38:24.497 に答える