From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21675 invoked by alias); 7 Dec 2007 14:31:16 -0000 Received: (qmail 21608 invoked by uid 9514); 7 Dec 2007 14:31:11 -0000 Date: Fri, 07 Dec 2007 14:31:00 -0000 Message-ID: <20071207143111.21593.qmail@sourceware.org> From: pmuldoon@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Add maps command X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 108636b93367206922bef95b14494b4cb7dbe244 X-Git-Newrev: 1428e86f7a48aceaee478725a9a8c641d502f7db Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2007-q4/txt/msg00542.txt.bz2 The branch, master has been updated via 1428e86f7a48aceaee478725a9a8c641d502f7db (commit) from 108636b93367206922bef95b14494b4cb7dbe244 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 1428e86f7a48aceaee478725a9a8c641d502f7db Author: Phil Muldoon Date: Fri Dec 7 14:31:03 2007 +0000 Add maps command 2007-12-07 Phil Muldoon * AuxvCommand.java (interpret): Return nothing when main task cannot be found. * MapsCommand.java: New. * TestMapsCommand: New. * TopLevelCommand.java (TopLevelCommand): Add maps command. ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/hpd/AuxvCommand.java | 3 + frysk-core/frysk/hpd/ChangeLog | 6 +++ .../hpd/{AuxvCommand.java => MapsCommand.java} | 47 ++++++------------- .../DeadProc.java => hpd/TestMapsCommand.java} | 30 +++++++----- frysk-core/frysk/hpd/TopLevelCommand.java | 1 + 5 files changed, 42 insertions(+), 45 deletions(-) copy frysk-core/frysk/hpd/{AuxvCommand.java => MapsCommand.java} (72%) copy frysk-core/frysk/{proc/dead/DeadProc.java => hpd/TestMapsCommand.java} (80%) First 500 lines of diff: diff --git a/frysk-core/frysk/hpd/AuxvCommand.java b/frysk-core/frysk/hpd/AuxvCommand.java index 41d2fa1..33b6554 100644 --- a/frysk-core/frysk/hpd/AuxvCommand.java +++ b/frysk-core/frysk/hpd/AuxvCommand.java @@ -66,7 +66,10 @@ public class AuxvCommand extends ParameterizedCommand { PTSet ptset = cli.getCommandPTSet(cmd); Iterator taskDataIterator = ptset.getTaskData(); if (taskDataIterator.hasNext() == false) + { cli.addMessage("Cannot find main task. Cannot print out auxv", Message.TYPE_ERROR); + return; + } Proc mainProc = ((TaskData) taskDataIterator.next()).getTask().getProc(); Auxv[] liveAux = mainProc.getAuxv(); diff --git a/frysk-core/frysk/hpd/ChangeLog b/frysk-core/frysk/hpd/ChangeLog index cbd0566..000ee62 100644 --- a/frysk-core/frysk/hpd/ChangeLog +++ b/frysk-core/frysk/hpd/ChangeLog @@ -1,5 +1,11 @@ 2007-12-07 Phil Muldoon + * AuxvCommand.java (interpret): Return nothing when + main task cannot be found. + * MapsCommand.java: New. + * TestMapsCommand: New. + * TopLevelCommand.java (TopLevelCommand): Add maps command. + * AuxvCommand.java: Move AuxvStringBuilder from here to frysk.util. * TestAuxvCommand.java (testAuxVCoreCommand): Rewrite. diff --git a/frysk-core/frysk/hpd/AuxvCommand.java b/frysk-core/frysk/hpd/MapsCommand.java similarity index 72% copy from frysk-core/frysk/hpd/AuxvCommand.java copy to frysk-core/frysk/hpd/MapsCommand.java index 41d2fa1..1c1b212 100644 --- a/frysk-core/frysk/hpd/AuxvCommand.java +++ b/frysk-core/frysk/hpd/MapsCommand.java @@ -41,24 +41,16 @@ package frysk.hpd; import java.util.Iterator; import java.util.List; -import frysk.proc.Auxv; +import frysk.proc.MemoryMap; import frysk.proc.Proc; -import frysk.util.AuxvStringBuilder; -public class AuxvCommand extends ParameterizedCommand { +public class MapsCommand extends ParameterizedCommand { boolean verbose = false; - public AuxvCommand() { - super("Print process auxiliary", "auxv [-verbose]", - "Print out the process auxiliary data for this " - + "process."); - - add(new CommandOption("verbose", "Print out known auxv descriptions ") { - void parse(String argument, Object options) { - verbose = true; - } - }); + public MapsCommand() { + super("Print process maps", "maps", + "Print out the process maps table."); } @@ -66,28 +58,19 @@ public class AuxvCommand extends ParameterizedCommand { PTSet ptset = cli.getCommandPTSet(cmd); Iterator taskDataIterator = ptset.getTaskData(); if (taskDataIterator.hasNext() == false) - cli.addMessage("Cannot find main task. Cannot print out auxv", Message.TYPE_ERROR); - Proc mainProc = ((TaskData) taskDataIterator.next()).getTask().getProc(); - Auxv[] liveAux = mainProc.getAuxv(); - - class BuildAuxv extends AuxvStringBuilder { - - public StringBuffer auxvData = new StringBuffer(); - public void buildLine(String type, String desc, String value) { - if (verbose) - auxvData.append(type+" (" + desc+") : " + value+"\n"); - else - auxvData.append(type+" : " + value+"\n"); - } + { + cli.addMessage("Cannot find main task. Cannot print out process maps.", Message.TYPE_ERROR); + return; } + Proc mainProc = ((TaskData) taskDataIterator.next()).getTask().getProc(); + MemoryMap[] maps = mainProc.getMaps(); - BuildAuxv buildAuxv = new BuildAuxv(); - buildAuxv.construct(liveAux); - - cli.outWriter.println(buildAuxv.auxvData.toString()); + for (int i=0; i