drewh
drewh

Reputation: 10167

Automatically open terminal when debugging in Xcode?

When debugging an executable in Xcode, I very often have to open up a terminal window, navigate to the executable's working directory and do some work there. Is there any way to have Xcode automatically open a terminal window at this location each time I debug my program?

Upvotes: 8

Views: 6302

Answers (3)

dmitry1100
dmitry1100

Reputation: 1329

Check my answer here to see how to setup Xcode scheme to fully automate debugging with using Terminal. I described it for ncurses that requires real Terminal to work.

Upvotes: 0

Phil
Phil

Reputation: 41

For anyone who's still looking,

It's really easy.. say you want to click run and have the app run in the Terminal. Here's what you do:

Go to Build Phases -> Editor -> Add Build Phase -> Add Run Script Build Phase -> Click the down arrow on Run Script -> Add the following:

open /Applications/Utilities/Terminal.app /Users/yourusername/restofpath

Notes: Spaces use '\ ' if needed. Include your app name in the path. Don't use quotes.

Click Run, and there you go!

If you want the Terminal to clear, in your source code type 'system("clear")' near main(). It's the only solution I have while debugging. Works great.

Upvotes: 4

WrightsCS
WrightsCS

Reputation: 50707

In Xcode, go to your Target, then right-click and choose:

Add -> New Build Phase -> New Run Script Build Phase

enter image description here

then add the following:

open /Applications/Utilities/Terminal.app

enter image description here

Now, every time you Build your app, Xcode will run this build script and launch Terminal. Note that you need to point to the correct location of the terminal application. Best way to do this is find the Terminal.app and drag and drop it onto the above screen after you type "open".

Once you have Terminal open, you will need to make an AppleScript to send the commands to Terminal to open the specific directory. Use the 'osascript' command to send an AppleEvent to Terminal.

Upvotes: 3

Related Questions