Intel Pin工具32位-ProcessSectionHeaders:560:断言失败

时间:2019-04-15 22:31:56

标签: c compilation intel-pin

我正在尝试在Kali 32位(Linux kali32 4.19.0-kali4-686-pae#1 SMP)上运行英特尔(3.7-97619)最新的Pin工具的 ManualExamples Debian 4.19.28-2kali1(2019-03-18)i686 GNU / Linux)。

我可以使用 make TARGET = ia32 编译在 source / tools / ManualExamples 中找到的示例,但是只要使用命令运行示例即可。根据文档中的 ManualExamples 中的./../../pin -t obj-ia32 / isampling.so-/ bin / ls 。尽管如此,我仍然面临以下问题:

A: Source/pin/elfio/img_elf.cpp: ProcessSectionHeaders: 560: assertion failed: SEC_vaddr_i(sec) >= IMG_seg_text_vaddr_i(img) && SEC_vaddr_i(sec) < IMG_seg_data_vaddr_i(img)

################################################################################
## STACK TRACE
################################################################################
??? at isampling.so+0x24472 

??? at isampling.so+0x90946 

??? at isampling.so+0x98671 

??? at isampling.so+0x14654d 

??? at isampling.so+0x148b9d 

??? at isampling.so+0x148c50 

??? at isampling.so+0x6f243 

??? at isampling.so+0x4bfab 

_ZN14LEVEL_INJECTOR13UNIX_INJECTEE12StartProgramEb+0x10f at /root/pin/ia32/bin/pinbin+0x3354af 

??? at isampling.so+0x48889 

main+0x97 at isampling.so+0x90d7 

_ZN14LEVEL_INJECTOR13UNIX_INJECTEE9StartToolEv+0x1d2 at /root/pin/ia32/bin/pinbin+0x333f12 

_ZN14LEVEL_INJECTOR13UNIX_INJECTEE29RunMainThreadOnPinStackAttachEPS0_+0x3de at /root/pin/ia32/bin/pinbin+0x3374ee 

Pin: pin-3.7-97619-0d0c92f4f
Copyright (c) 2003-2018, Intel Corporation. All rights reserved.

Aborted

因此,我决定使用 pin-/ bin / ls 命令在没有任何工具的情况下运行pin。知道为什么我会收到此错误消息吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

在与同事一起调查此问题上花费了几个小时后,我们无法弄清此错误的原因。我们尝试了最新的Kali和Debian。

后来,我决定尝试使用内核4.15.0-47-generic的 Ubuntu虚拟机,它可以正常工作!更精确地:

➜  ~ uname -a
Linux gpu 4.15.0-47-generic #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
➜  ~ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:    18.04
Codename:   bionic

我没有尝试使用较新版本的Ubuntu,所以我不能说这是由于新的软件组件,例如内核的较新版本。因此,我的解决方法是使用较旧版本的内核,而不能确定这是导致此问题的原因。

对此线程进行的任何进一步调查的答案(可以更好地识别问题)将被标记为答案。