【问题标题】:Intel PIN: print backtrace when segfault happens in toolIntel PIN:当工具中发生段错误时打印回溯
【发布时间】:2019-08-17 03:21:06
【问题描述】:

我正在为英特尔 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 ... -- 程序

【问题讨论】:

    标签: intel-pin


    【解决方案1】:

    您可以使用以下 API:

    PIN_AddInternalExceptionHandler()

    您可以从那里访问EXCEPTION_INFO 结构,该结构应该使用exception API 进行操作。

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

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

    【讨论】:

      猜你喜欢
      • 2016-09-03
      • 2017-09-21
      • 2016-05-30
      • 2016-06-30
      • 2011-07-01
      • 1970-01-01
      • 2013-11-22
      • 2023-03-04
      • 2012-06-25
      相关资源
      最近更新 更多