mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 296823 - workaround for excessive response from gdb
This commit is contained in:
parent
7831fac919
commit
12fdecc1fe
1 changed files with 7 additions and 7 deletions
|
@ -1730,7 +1730,7 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem
|
||||||
if (!isCanceled() && data != null) {
|
if (!isCanceled() && data != null) {
|
||||||
asyncExec(new Runnable() {
|
asyncExec(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
if (!insertDisassembly(null, data)) {
|
if (!insertDisassembly(null, fEndAddress, data)) {
|
||||||
// retry in non-mixed mode
|
// retry in non-mixed mode
|
||||||
retrieveDisassembly(file, lines, false);
|
retrieveDisassembly(file, lines, false);
|
||||||
}
|
}
|
||||||
|
@ -1803,7 +1803,7 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem
|
||||||
if (!isCanceled() && data != null) {
|
if (!isCanceled() && data != null) {
|
||||||
asyncExec(new Runnable() {
|
asyncExec(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
if (!insertDisassembly(startAddress, data)) {
|
if (!insertDisassembly(startAddress, finalEndAddress, data)) {
|
||||||
// retry in non-mixed mode
|
// retry in non-mixed mode
|
||||||
retrieveDisassembly(startAddress, finalEndAddress, linesHint, false, false);
|
retrieveDisassembly(startAddress, finalEndAddress, linesHint, false, false);
|
||||||
}
|
}
|
||||||
|
@ -1862,7 +1862,7 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem
|
||||||
if (!isCanceled() && getData() != null) {
|
if (!isCanceled() && getData() != null) {
|
||||||
asyncExec(new Runnable() {
|
asyncExec(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
insertDisassembly(startAddress, getData());
|
insertDisassembly(startAddress, finalEndAddress, getData());
|
||||||
}});
|
}});
|
||||||
} else {
|
} else {
|
||||||
final IStatus status= getStatus();
|
final IStatus status= getStatus();
|
||||||
|
@ -1919,7 +1919,7 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void insertDisassembly(BigInteger startAddress, IInstruction[] instructions) {
|
private void insertDisassembly(BigInteger startAddress, BigInteger endAddress, IInstruction[] instructions) {
|
||||||
if (fViewer == null || fDebugSessionId == null) {
|
if (fViewer == null || fDebugSessionId == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1945,7 +1945,7 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem
|
||||||
if (p instanceof ErrorPosition && p.fValid) {
|
if (p instanceof ErrorPosition && p.fValid) {
|
||||||
p.fValid = false;
|
p.fValid = false;
|
||||||
fDocument.getInvalidAddressRanges().add(p);
|
fDocument.getInvalidAddressRanges().add(p);
|
||||||
} else if (p == null || p.fValid) {
|
} else if (p == null || p.fValid || address.compareTo(endAddress) > 0) {
|
||||||
if (DEBUG) System.out.println("Excess disassembly lines at " + getAddressText(address)); //$NON-NLS-1$
|
if (DEBUG) System.out.println("Excess disassembly lines at " + getAddressText(address)); //$NON-NLS-1$
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1994,7 +1994,7 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean insertDisassembly(BigInteger startAddress, IMixedInstruction[] mixedInstructions) {
|
private boolean insertDisassembly(BigInteger startAddress, BigInteger endAddress, IMixedInstruction[] mixedInstructions) {
|
||||||
if (fViewer == null || fDebugSessionId == null) {
|
if (fViewer == null || fDebugSessionId == null) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -2027,7 +2027,7 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem
|
||||||
if (p instanceof ErrorPosition && p.fValid) {
|
if (p instanceof ErrorPosition && p.fValid) {
|
||||||
p.fValid = false;
|
p.fValid = false;
|
||||||
fDocument.getInvalidAddressRanges().add(p);
|
fDocument.getInvalidAddressRanges().add(p);
|
||||||
} else if (p == null) {
|
} else if (p == null || address.compareTo(endAddress) > 0) {
|
||||||
if (DEBUG) System.out.println("Excess disassembly lines at " + getAddressText(address)); //$NON-NLS-1$
|
if (DEBUG) System.out.println("Excess disassembly lines at " + getAddressText(address)); //$NON-NLS-1$
|
||||||
return success;
|
return success;
|
||||||
} else if (p.fValid) {
|
} else if (p.fValid) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue