ПИН-код Intel: печать обратной трассировки при возникновении ошибки в инструменте - PullRequest
1 голос
/ 26 марта 2019

Я разрабатываю инструмент для Intel PIN. Где-то во время выполнения, это дает мне ошибку ниже. Я хочу знать, есть ли способ сообщить PIN-коду о необходимости распечатать обратную трассировку или разрешить обработать ошибку в самом инструменте.

Я запускаю свой инструмент с MPI, и он падает, когда я вставляю значения в неупорядоченную карту.

C: инструмент (или контакт) вызвал сигнал 11 на ПК 0x2b09594533cb

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 Ответ

1 голос
/ 02 мая 2019

Вы можете использовать следующий API:

PIN_AddInternalExceptionHandler ()

, откуда вы получаете доступ к структуре EXCEPTION_INFO, которой предполагается управлять с помощью API исключения .

В противном случае вы также можете отладить свой инструмент из отладчика, запустив его с параметром -pause_tool 20.Затем у вас есть 20 секунд, чтобы подключить ваш отладчик к процессу.После подключения отладчик останавливается (по крайней мере, с помощью Visual Studio) и позволяет вам установить необходимые точки останова в коде вашего инструмента.

Это не так просто отладить, так как вся система постоянно переключается с кода pintool на pin-код и нацеливается на приложение.Следовательно, в вашем коде pintool нет непрерывного процесса шагов, которые вы можете выполнять, как вы можете ожидать при отладке «классических однопоточных приложений».

...