bugfixes: recalculate executable address after loading breakpoint + iterate over array, not list
This commit is contained in:
parent
f086c92b40
commit
532c1b6c77
2 changed files with 18 additions and 3 deletions
|
@ -26,7 +26,7 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: MspBreakpoint.java,v 1.2 2009/06/16 12:15:15 fros4943 Exp $
|
||||
* $Id: MspBreakpoint.java,v 1.3 2009/06/17 13:06:55 fros4943 Exp $
|
||||
*/
|
||||
|
||||
package se.sics.cooja.mspmote.plugins;
|
||||
|
@ -37,6 +37,7 @@ import java.io.IOException;
|
|||
import java.util.Collection;
|
||||
import java.util.Vector;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.jdom.Element;
|
||||
|
||||
import se.sics.cooja.Watchpoint;
|
||||
|
@ -50,6 +51,8 @@ import se.sics.mspsim.core.CPUMonitor;
|
|||
* @author Fredrik Osterlind
|
||||
*/
|
||||
public class MspBreakpoint implements Watchpoint {
|
||||
private static Logger logger = Logger.getLogger(MspBreakpoint.class);
|
||||
|
||||
private MspBreakpointContainer breakpoints;
|
||||
private MspMote mspMote;
|
||||
|
||||
|
@ -205,6 +208,17 @@ public class MspBreakpoint implements Watchpoint {
|
|||
return false;
|
||||
}
|
||||
|
||||
/* TODO Save source code line */
|
||||
|
||||
if (codeFile != null && lineNr != null) {
|
||||
/* Update executable address */
|
||||
address = mspMote.getBreakpointsContainer().getExecutableAddressOf(codeFile, lineNr);
|
||||
if (address == null) {
|
||||
logger.fatal("Could not restore breakpoint, did source code change?");
|
||||
address = 0;
|
||||
}
|
||||
}
|
||||
|
||||
createMonitor();
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: MspBreakpointContainer.java,v 1.1 2009/06/11 10:05:28 fros4943 Exp $
|
||||
* $Id: MspBreakpointContainer.java,v 1.2 2009/06/17 13:06:55 fros4943 Exp $
|
||||
*/
|
||||
|
||||
package se.sics.cooja.mspmote.plugins;
|
||||
|
@ -193,7 +193,8 @@ public class MspBreakpointContainer implements WatchpointMote {
|
|||
|
||||
/* Notify listeners */
|
||||
lastTriggeredBreakpoint = b;
|
||||
for (ActionListener listener: listeners) {
|
||||
ActionListener[] arr = getWatchpointListeners();
|
||||
for (ActionListener listener: arr) {
|
||||
listener.actionPerformed(null);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue