Как воспроизвести многопоточное приложение?

Я хочу записать операции синхронизации, такие как блокировки, семпахоры, барьеры многопоточного приложения, чтобы впоследствии воспроизвести записанное приложение с целью отладки.

На пути к созданию собственной блокировки, семпафора, условных переменных и т. д. функций, которые также ведут журналирование, но я думаю, что это излишество, потому что внизу они должны использовать некоторые общие операции синхронизации.

Итак, мой вопрос заключается в том, какие операции синхронизации я должен регистрировать, чтобы мне потребовались минимальные изменения в моей программе. Другими словами,какие функции или макросы в glibc и системные вызовы, над которыми строятся все эти операции синхронизации? Так что я модифицирую их только для регистрации и воспроизведения.

7
задан pythonic 1 May 2012 в 20:42
поделиться