简体   繁体   中英

How can I run gdb in xemacs for cross-compiled code?

I don't use emacs, but I know xemacs can be used as a front-end for gdb (used it before). However, my code is cross-compiled, so I can't run gdb, I have to run a specific version of gdb that's for the cross-compiled code (let's call it gdb-foo). How do I set xemacs up to run the alternate gdb?

When I use Mx, gdb I get the prompt:

Run gdb on file:

I remember seeing something like this:

Run gdb like this:

But I don't know how to get that.

Next, once I learn how to do it this way, how can I do it as a one-liner I can run from bash, including gdb-foo and attach options? (I know bash scripting; I just need the incantation for xemacs.)

The idea is to change gdb executable. Let's see how to retrieve this kind of information using emacs.

Under emacs, you can do Ch f gdb to print gdb function help:

gdb is an interactive autoloaded compiled Lisp function in
‘gdb-mi.el’.

It is bound to <menu-bar> <tools> <gdb>.... etc.

Then click on gdb-mi.el to go to the lisp source. From there you can search for "executable" ( Cs executable , then Cs for next occurrence). You will find this customizable variable:

(defcustom gud-gdb-command-name "gdb -i=mi"
  "Default command to execute an executable under the GDB debugger."
  :type 'string
  :group 'gdb)

And that's it! You have all the information you need.

Now to effectively change gdb to gdb-foo , run the customize command: Mx customize . Then type "gud-gdb-command-name" in the search field + return. You should get something like:

gud-gdb-command-name                              Search 

Operate on all settings in this buffer:
 Revert...   Apply   Apply and Save 

Hide Gud Gdb Command Name: gdb -i=mi      <---- MODIFY ME!
    State : STANDARD.
   Default command to execute an executable under the GDB debugger.
Groups: Gdb

You can modify "gdb -i=mi" to "gdb-foo -i=mi" then "Apply" or "Apply and Save".

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM