英特尔PIN码:工具中发生段错误时打印回溯记录

时间:2019-03-26 16:45:21

标签: intel-pin

我正在开发用于Intel PIN的工具。在运行时的某个地方,它给了我下面的错误。我想知道是否有一种方法可以告诉PIN打印回溯或让我处理工具本身中的段错误。

我正在使用MPI运行我的工具,当我将值插入无序映射时,它会崩溃。

  

C:工具(或引脚)在PC 0x2b09594533cb上引起信号11

     

mpirun -np 44 pin-3.7-97619-g0d0c92f4f-gcc-linux / pin -follow_execv -t pin-3.7-97619-g0d0c92f4f-gcc-linux / source / tools / Simp ...-程序

1 个答案:

答案 0 :(得分:0)

您可以使用以下API:

  

PIN_AddInternalExceptionHandler()

,您可以从中访问EXCEPTION_INFO结构,该结构应该由exception API操纵。

否则,还可以通过使用-pause_tool 20选项启动工具,从调试器中调试工具。然后,您有20秒的时间将调试器附加到该过程。连接后,调试器将停止(至少在Visual Studio中),并允许您在工具的代码中设置所需的断点。

这并不是那么容易调试,因为整个系统不断地从pintool代码切换到pin,再到目标应用程序。因此,正如调试“经典应用程序”时所期望的那样,pintool代码中没有可以遵循的连续步骤。