我编写了一个 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。有人可以给我一些建议吗?