0

我编写了一个 pintool 来转储带有 pid、线程 id 和地址的每条指令。它存储在Github gist

但是,在我运行一个示例之后,第一条指令的 pid 与 main 函数中的 pid 相同,与第二条或以下指令不同。输出如下:

cerr Pid 7292========= cout 7292-0-b777c0d0-mov eax, esp 1c7c-0-b777c0d2-call 0xb777f790 1c7c-0-b777f790-push ebp 1c7c-0-b777f791-mov ebp, esp ......

我不知道为什么会发生。也许我以错误的方式使用了 PIN_GetPid API。有人可以给我一些建议吗?

4

1 回答 1

2

十进制的 7292 是十六进制的 0x1c7c。std::hex 跨同一流的单独调用进行维护。

只需在 pid 的打印前加上 std::dec。

于 2017-04-06T08:42:51.110 回答