好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mac上eclipse用gdb调试(转)

For the remainder of the tutorial, use  /opt/local/bin/gdb-apple  as the GDB executable Remember  if you want breakpoints in template functions to work, you‘ll need to change your compiler to  g++-apple-4.2  instead of  g++ ! This can be done in your Makefiles or in your IDE settings.

Install with Homebrew

Install Xcode and Homebrew, if not already installed. Now install GDB from Homebrew: $ brew tap homebrew /dupes
$ brew  install  gdb For the remainder of the tutorial, use  /usr/local/bin/gdb  as the GDB executable

If that worked, then lucky you! Getting it compiled is where many people seem to have trouble. Now you just need to sign it to give it permission to control OS X processes.

Certifying GDB

Open up the Keychain Access application ( /Applications/Utilities/Keychain Access.app ). Navigate via the menu to  Keychain Access  >  Certificate Assistant  >  Create Certificate...

Enter a name for the certificate. For this how-to, I‘ll call it "gdb-cert". Set the fields exactly as shown below.

The maximum validity period is 999 days. I don‘t really want to deal with this again, so I‘m going to max it out.

Keep clicking the "Continue" button until you are asked for a location. Set it to "System".3

Success!

Now make sure the cert is always trusted. Right-click the new certificate and select  Get Info . Under the  Trust  section, set  Code Signing  to  Always Trust .

Now that we have a certificate, we need to use it to sign GDB. First, we‘ll restart the  taskgated process to make sure it picks up the new certificate. Quit Keychain Access (you  must  quit Keychain Access!) and return to the Terminal for these final commands.

Find the taskgated process.

$  ps  -e  |  grep taskgated
56822 ??          0: 03.11  /usr /libexec /taskgated  -s
60944 ttys002     0: 00.00  grep  --color=auto taskgated

The first number in the above output is the PID. Use this to kill the process (it will immediately restart itself).

$  sudo  kill  -9  56822

Now you can finally code sign GDB.

# MacPorts version
$ codesign  -s gdb-cert $ ( which gdb-apple )
# Homebrew version
$ codesign  -s gdb-cert $ ( which  gdb )

Now you should be all set! The OS X Keychain may ask for your password the first time you attempt to debug a program, but it should work!

Getting it to Work with Eclipse

There‘s one more step for Eclipse users. You need to specify where Eclipse can find the new GDB. Specify the path to GDB in  Preferences > C/C++ > Debug > GDB :

If you already have some debug configurations, you may need to edit them individually to point to the correct place (under  Run > Debug Configurations... ):

The CDT developers are planning to support LLDB, but they will have to write a whole new interface, and I think most of them only work on Eclipse in their spare time, so it will likely be at least some months before LLDB support is there. The procedure is derived from this StackOverflow post and this GDB Wiki page. If you are unable to save it to the  System  keychain, then save it to the  login  keychain. You can later  export  the cert, and then  import  it into the  System  keychain. I didn‘t have to do this, so comment if you have any problem.

mac上eclipse用gdb调试(转)

标签:

查看更多关于mac上eclipse用gdb调试(转)的详细内容...

  阅读:23次