|
From: Philippe W. <phi...@sk...> - 2015-09-16 21:39:48
|
On Tue, 2015-09-15 at 23:23 -0400, Yue Chen wrote:
> Under x86_64 Linux, I change
> VG_(printf)("I %08lx,%lu\n", addr, size);
> to
> VG_(printf)("I %16lx,%lu\n", addr, size);
This is not needed. If the address would exceed 8 digits,
%08lx will in any case print all the digits.
> in lackey, but the result seems not correct too.
> The output is something like
> I 4ca3292,2
> But the real code address is around 400xxx (6 digits, not 7), which
> differs from the lackey output.
I do not know. I have checked on linux, where there is a correct
matching between what lackey reports, and e.g. what gdb disass tells.
What I suggest is:
1. try the same on a linux box, to exclude any misunderstanding
or manipulation error.
2. if valgrind on freeBSD has a working gdbserver, you might
run your program under lackey, activating gdbserver.
Then put a breakpoint at a certain address,
Run, and double check which address lackey has just reported
(which should be the address just before your breakpoint).
Philippe
|