Something is truly weird here . . .
commit1938909a8dd1876f7198195cf031023f6b912726
authorstrange <kawk256@gmail.com>
Fri, 8 Jan 2010 21:08:02 +0000 (8 13:08 -0800)
committerstrange <kawk256@gmail.com>
Fri, 8 Jan 2010 21:11:57 +0000 (8 13:11 -0800)
treece77388b1936b5ced042c80c6f7eae7ea7470e22
parent8cf4fc5dad4ee7ab325b6202fb10c4a29679ae18
Something is truly weird here . . .

Here is a small excerpt from aesalon, executing on a simple malloc test:

1: Portal::write_memory(address, Byte) called . . .
2: Portal::read_memory() called . . .
3: Portal::write_memory(address, Word) called . . .
4: Portal::single_step() called . . .
5: Portal::write_memory(address, Byte) called . . .
6: Portal::read_memory() called . . .
7: Couldn't read memory: No such process

Note that read_memory succeeds once (2), but fails when called a second time
(6-7). That is what is odd to me . . .

When objdump'd, the beginnings of main:
000000000040056b <main>:
  40056b:       55                      push   rbp
  40056c:       48 89 e5                mov    rbp,rsp
  40056f:       48 83 ec 10             sub    rsp,0x10

There's nothing in there that would really not work, I don't think . . . which
is why I cannot figure out why it's not working . . . I suppose the second
read is not word-aligned, but then I should get a different error: EIO, or
"there was a word-alignment violation", from the ptrace man page.
src/monitor/ptrace/Portal.cpp