From e99487c7ddff5cdc1e3e845c034ac6f7b331af54 Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Mon, 15 Nov 2004 22:29:43 +0000 Subject: [PATCH] Fix for bug 78604: Disassembly causes Java exception when disassembling beyond fn(?). --- debug/org.eclipse.cdt.debug.ui/ChangeLog | 4 ++++ .../ui/views/disassembly/DisassemblyEditorInput.java | 7 +++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.ui/ChangeLog b/debug/org.eclipse.cdt.debug.ui/ChangeLog index 6a708780aa7..08dd4e0febe 100644 --- a/debug/org.eclipse.cdt.debug.ui/ChangeLog +++ b/debug/org.eclipse.cdt.debug.ui/ChangeLog @@ -1,3 +1,7 @@ +2004-11-15 Mikhail Khodjaiants + Fix for bug 78604: Disassembly causes Java exception when disassembling beyond fn(?). + * DisassemblyEditorInput.java + 2004-11-11 Mikhail Khodjaiants Fix for bug 73801: Function breakpoints set from C View aren't shown in editor. * ToggleBreakpointAdapter.java diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/disassembly/DisassemblyEditorInput.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/disassembly/DisassemblyEditorInput.java index 75e52eac7dd..05b6c6134aa 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/disassembly/DisassemblyEditorInput.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/disassembly/DisassemblyEditorInput.java @@ -11,7 +11,6 @@ package org.eclipse.cdt.debug.internal.ui.views.disassembly; import java.util.Arrays; - import org.eclipse.cdt.core.IAddress; import org.eclipse.cdt.debug.core.CDIDebugModel; import org.eclipse.cdt.debug.core.model.IAsmInstruction; @@ -219,8 +218,7 @@ public class DisassemblyEditorInput implements IEditorInput { } } } - int instrPos = calculateInstructionPosition( maxFunctionName, maxOffset, - fBlock.getSourceLines()[0].getInstructions()[0].getAdress().getCharsNum()); + int instrPos = calculateInstructionPosition( maxFunctionName, maxOffset ); int argPosition = instrPos + maxOpcodeLength + 1; if ( fBlock.isMixedMode() ) fSourceRegions = new IRegion[mi.length]; @@ -266,8 +264,9 @@ public class DisassemblyEditorInput implements IEditorInput { return sb.toString(); } - private int calculateInstructionPosition( int maxFunctionName, long maxOffset, int addressLength ) { + private int calculateInstructionPosition( int maxFunctionName, long maxOffset ) { //(Address prefix address representation in chars) + (space) + (<) + (+) + (>) + (:) + (space) + int addressLength = getDisassembly().getAddressFactory().getMax().getCharsNum(); return ( addressLength + 6 + maxFunctionName + Long.toString( maxOffset ).length() ); }