From 0a10b91cca34053ee7f6845619579f622a5260c9 Mon Sep 17 00:00:00 2001 From: Ken Ryall Date: Thu, 17 Apr 2008 15:48:02 +0000 Subject: [PATCH] Try getting the address factory first from the CDI Target, then fall back on the executable. --- .../internal/core/model/CDebugTarget.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java index b657a2b586f..c9c2d613bef 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java @@ -1683,20 +1683,19 @@ public class CDebugTarget extends CDebugElement implements ICDebugTarget, ICDIEv } public IAddressFactory getAddressFactory() { - if ( fAddressFactory == null ) { - if ( getExecFile() != null && getProject() != null ) { - IBinaryObject file; - file = getBinaryFile(); - if (file != null) { - fAddressFactory = file.getAddressFactory(); - } + if ( fAddressFactory == null ) { + // Ask CDI plug-in for the default AddressFactory. + if (fCDITarget instanceof ICDIAddressFactoryManagement) { + fAddressFactory = ((ICDIAddressFactoryManagement) fCDITarget).getAddressFactory(); } - else { - // No binary file, possible when we do pure assembly level debug - // Without any binary file involved, ask CDI plugin for default - // AddressFactory, if any. - if (fCDITarget instanceof ICDIAddressFactoryManagement) { - fAddressFactory = ((ICDIAddressFactoryManagement) fCDITarget).getAddressFactory(); + // And if that doesn't work, use the one from the file. + if ( fAddressFactory == null ){ + if ( getExecFile() != null && getProject() != null ) { + IBinaryObject file; + file = getBinaryFile(); + if (file != null) { + fAddressFactory = file.getAddressFactory(); + } } } }