public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Cagney <cagney@redhat.com>
To: Phil Muldoon <pmuldoon@redhat.com>
Cc: frysk@sourceware.org
Subject: Re: [SCM]  master: Add frysk.rsl loggin.
Date: Wed, 13 Feb 2008 16:48:00 -0000	[thread overview]
Message-ID: <47B31EEE.6010400@redhat.com> (raw)
In-Reply-To: <47B2C3D7.7080702@redhat.com>

Phil Muldoon wrote:
> Andrew Cagney wrote:
>> Phil,
>>
>> There's a less leaky way to write this (if a specific sequence is 
>> missing in Log, just add it).
>
> Ok on the adding part, this will not work. Will add later:
>
>          finest.log(this,
>             "peek'ed() 0x", ((long) (buffer[0] & 0xff)),
>             " from address 0x", address,              " offset 0x",  
> offset,
>             " from file: " , metaLine.name);
>
> gets:
>
> gcj -C -fsource=1.4 -d classes -g -O -g -classpath 
> ../../frysk/frysk-core:.:../frysk-sys/frysk-sys.jar:../frysk-imports/jline.jar:../frysk-imports/antlr.jar:../frysk-imports/junit.jar:../frysk-imports/getopt.jar:../frysk-imports/jdom.jar:../frysk-imports/cdtparser.jar 
> -Wextraneous-semicolon \
>                @./files-java.list \
>                2>&1 | tee frysk-core.log
> ../../frysk/frysk-core/frysk/proc/dead/CorefileByteBuffer.java:128: 
> error: The method log(Object, String, Object, String, long, String, 
> long, String, int, String) in the type Log is not applicable for the 
> arguments (CorefileByteBuffer, String, long, String, long, String, 
> long, String, String)
>        finest.log(this,
Ah, given:

  (CorefileByteBuffer, String, long, String, long, String, long, String, 
String)

you'll want to add a method like:

  public void log(Object self, String p1, long p2, String p3, long p4, 
String p5, Object p6) {
        if (!loggging)
            return;
        prefix(self); print(p1); print(p2); print(p3); print(p4); 
print(p5); print(p6); suffix();
  }

to the growing list; they get added on-demand :-).  Notice the general 
form.  The parameters alternate between String <text> and Object / int / 
long / ... <parameter>.

> But what I really want is a hex string, converted by long. I do not 
> want to convert every single peek() call from decimal to hex in my 
> head. I guess I could do, Object, String, String, String, String  ...  
> and convert each Long in the log call, but the end log result would be 
> just as messy as concating strings together.

Right; that is why a "long" parameter is always printed in hex, and an 
integer parameter in decimal.  Hence, instead of:
      "address 0x" + Long.toHexString(address) + " ...."
(which allocates at least two objects - Integer.toHexString() creates a 
String and "+" causes a StringBuffer to be created)  try the simpler:
     "address", address, "..."
It will most likely print what you want.  If you've an integer and want 
it in hex; cast it to a long vis:
     "length", (long)length

Andrew



      reply	other threads:[~2008-02-13 16:48 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20080212200324.2256.qmail@sourceware.org>
2008-02-12 21:33 ` Andrew Cagney
2008-02-13 10:18   ` Phil Muldoon
2008-02-13 16:48     ` Andrew Cagney [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47B31EEE.6010400@redhat.com \
    --to=cagney@redhat.com \
    --cc=frysk@sourceware.org \
    --cc=pmuldoon@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).