我写了一个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。有人可以给我一些建议吗?
答案 0 :(得分:2)
小数为7292是十六进制的0x1c7c。 std :: hex在相同流的单独调用中维护。
只需使用std :: dec打印pid前缀。