Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

idb emacs integration

creepa1982
Beginner
2,065 Views
Dear Intel team,
I am trying to use Version 11.1, Build [1.2097.2.385] of idb to debug my fortran code in gnu emacs version 23.1.1.
The idb.el distributed with the above version of the Intel Fortran Compiler creates some problems.The errors I get in emacs are :
error in process filter: gud-find-file: Symbol's function definition is void: gud-gdb-find-file
error in process filter: Symbol's function definition is void: gud-gdb-find-file
error in process filter: gud-find-file: Symbol's function definition is void: gud-gdb-find-fileerror in process filter: Symbol's function definition is void: gud-gdb-find-file
The elisp function gud-find-file function exists but replacing it in the idb.el file leads to further errors.
Is there an idb.el version that runs with the current emacs version?
Thanks for your support,
Benjamin
PS I found this older thread on this issue but the idb.el file provided in there has the same problem.
0 Kudos
8 Replies
Hubert_H_Intel
Employee
2,065 Views
I'll have a look at this.
Regards, Hubert.
0 Kudos
Hubert_H_Intel
Employee
2,065 Views
While we are evaluating the emacs integration issue, one other question:
Is there a reason for you to not use our powerful Eclipse IDB GUI, starting with '$ idb' (idbc is command line)? The idb requires a JRE only; it's not called from within Eclipse IDE and doesn't requirs a full Eclipse installation on the computer.
Regards, Hubert.
0 Kudos
creepa1982
Beginner
2,065 Views
I am using the IDB gui right now and it is indeed very powerful. Nevertheless I would like to call idbc from emacs so I don't have to switch between programs.
Thanks again,
Benjamin Jonen
0 Kudos
Hubert_H_Intel
Employee
2,065 Views
Benjamin,
Yes, I'll follow up on the IDB/Emacs integration issue.
Hubert.
0 Kudos
Hubert_H_Intel
Employee
2,065 Views

Benjamin,

I'm sorry for the delay. Meanwhile we have Compiler/Debugger version 12.0 (included in the Intel Fortran Compsoer XE for Linux*).

Did you have a try with 12.0 and the Emacs integration?

I found a possible source of the problem: The Debugger now starts in GDB mode by default. The file idb.el however shouldn't be loaded when using the GDB mode. Alternatively you can start the debugger in legacy IDB mode (idbc -idb) and load the idb.el file. However, we do not recommend using the IDB mode any longer.

Please have a try and let me know if there is some progress.

Regards,

Hubert.

0 Kudos
Hubert_H_Intel
Employee
2,065 Views
Benjamin,
Meanwhile, the Intel Fortran Composer XE 2011 Update 6 for Linux* is available. Download link: https://registrationcenter.intel.com/RegCenter/Download.aspx?productid=1419
Please have a try and let me know if the EMACS integration works in GDB mode without loading the .el file.
Regards,
Hubert.
0 Kudos
shakeham
Beginner
2,065 Views
Hi Hubert,

How do you actually start idb in emacs? I cannot find such an option.
On another note, there is currently a problem with idb GUI now: when I made some changes to the code and recompile it, it reported permission error. Apparently IDB is still occupying the executable file, even if the debugger has been stopped.
This means that any time I want to make changes to the code and see the results, I need to exit IDB, compile it, and restart IDB, load the executable, etc... this can be really cumbersome and add a lot to the development time. In emacs, you can recompile the code outside gdb. When you re-run the program it knows to re-read the symbols.
0 Kudos
Georg_Z_Intel
Employee
2,065 Views
Hello,

you can start IDB in EMACS as follows:

M-x load-file /bin/[intel64|ia32]/idb.el

Never used it, though.

Regarding the permission error:
If you're working on a file-system with turned on file locking you won't be able to recompile while running the debugger session. That's a "feature" from IDB as it keeps symbol/debug information in memory without requiring it to reload with every restart of the debuggee. It only reloads what is required, thus speeding up initialization of bigger applications.

There are workarounds as well:
  • Turn off file locking of your file-system
  • Do a file (no arguments) command. This should unload all references to the debuggee and you should be fine to recompile it. Load it again when you need to debug.

Best regards,

Georg Zitzlsberger
0 Kudos
Reply