Intel Pin PIN_GetPid 得到错误的值
Intel Pin PIN_GetPid get wrong value
我写了一个 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。有人可以给我一些建议吗?
7292 的十进制是 0x1c7c 的十六进制。
std::hex 在同一流的不同调用中维护。
只需在打印 pid 前加上 std::dec。
我写了一个 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。有人可以给我一些建议吗?
7292 的十进制是 0x1c7c 的十六进制。 std::hex 在同一流的不同调用中维护。
只需在打印 pid 前加上 std::dec。