Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-debug-dev] Projectless debugging broken in CDT CVS HEAD 4.0

CDT CVS HEAD broke projectless debugging today.

Projectless debuging w/Zylin Embedded CDT works as follows:

- Create dummy empty C/C++ project.
- Create a debug session that uses the dummy C/C++ project
- Point the debug session to an .exe or .elf file anywhere inside or
outside the project. Zylin Embedded CDT plugin removes the restriction
that an executable must be located inside the project for which the
debug session is tied to.
- Launch debug session.

---

After updating to CDT CVS HEAD, I got this exception(CExtensionUtil.java):

			throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, -1,
					CCorePlugin.getResourceString("CDescriptor.exception.providerNotFound"),
null)); //$NON-NLS-1$


The problem was that  ref.gedID() == "" on the line below...

	IExtension extension = extensionPoint.getExtension(ref.getID());

---


Current workaround: create a fresh dummy project. Go to advanced
settings and enable the right binary parser.


Some comments/wishlist:

- Why does a debug session need a binary parser at all? "all" CDT
should do is to point GDB at the file that the user specifies at his
own peril. CDT should present any error message from GDB, but other
than that not occupy itself with what constitutes a valid executable
for debugging purposes. I think I would like to see a stronger
separation between CDT build/edit & CDT debugging/less dependencies.
It would be great if the build/edit/indexing stuff could be freer to
mess around with the parsers without worrying about the debugger??
Today a debug session requires an executable/symbol file, but really
that should be optional as one or more symbol files can be loaded from
the GDB command console(e.g. in a startup script).
- Remove requirement for a dummy project to be able to do projectless debugging





--
Øyvind Harboe
http://www.zylin.com - eCos ARM & FPGA  developer kit


Back to the top